extrn .begin,.chl,.swt extrn csave,cret,.move global style_,1 global vdp_rege_,960 global szTemp_,128 global linenum_,1 global counter_,1 global outer_,1 global inner_,1 global limit_,1 global index_,2 global line_,2 global ubyte_,1 global bitmask_,1 global row_,2 global bit_,2 global ascii_,2 global bool_,2 global fd_,2 PUBLIC main_ main_: lxi d,.2 call csave LXI H,.1+0 PUSH H CALL printf_ POP D LXI H,0 PUSH H CALL vdp_wrvr_ POP D LXI H,152 PUSH H CALL in_ POP D LXI H,.1+77 PUSH H LXI H,.1+65 PUSH H CALL fopen_ POP D POP D SHLD fd_ LXI H,.1+79 PUSH H LHLD fd_ PUSH H CALL fprintf_ POP D POP D LXI H,.1+130 PUSH H LHLD fd_ PUSH H CALL fprintf_ POP D POP D LXI H,.1+185 PUSH H LHLD fd_ PUSH H CALL fprintf_ POP D POP D LXI H,0 SHLD line_ JMP .4 .3: LHLD line_ INX H SHLD line_ .4: LHLD line_ LXI D,1024 XCHG CALL .ul JZ .5 LHLD line_ DAD H DAD H DAD H DAD H PUSH H LXI H,.1+240 PUSH H LHLD fd_ PUSH H CALL fprintf_ POP D POP D POP D LXI H,0 XCHG LXI H,3-.2 DAD SP MOV M,E JMP .7 .6: LXI H,3-.2 DAD SP PUSH H MOV L,M INX H XCHG POP H MOV M,E .7: LXI H,3-.2 DAD SP MOV E,M MVI D,0 LXI H,16 CALL .lt JZ .8 LXI H,152 PUSH H CALL in_ POP D PUSH H LXI H,.1+247 PUSH H LHLD fd_ PUSH H CALL fprintf_ POP D POP D POP D JMP .6 .8: LXI H,.1+253 PUSH H LHLD fd_ PUSH H CALL fprintf_ POP D POP D LHLD line_ PUSH H LXI H,13 PUSH H LXI H,.1+255 PUSH H CALL printf_ POP D POP D POP D JMP .3 .5: LXI H,.1+265 PUSH H CALL printf_ POP D LXI H,0 PUSH H CALL vdp_wrvr_ POP D LXI H,152 PUSH H CALL in_ POP D LXI H,.1+290 PUSH H LHLD fd_ PUSH H CALL fprintf_ POP D POP D LXI H,.1+343 PUSH H LHLD fd_ PUSH H CALL fprintf_ POP D POP D LXI H,.1+386 PUSH H LHLD fd_ PUSH H CALL fprintf_ POP D POP D LXI H,0 SHLD line_ JMP .10 .9: LHLD line_ INX H SHLD line_ .10: LHLD line_ LXI D,24 XCHG CALL .ul JZ .11 LHLD line_ PUSH H LXI H,.1+441 PUSH H LHLD fd_ PUSH H CALL fprintf_ POP D POP D POP D LXI H,0 XCHG LXI H,3-.2 DAD SP MOV M,E JMP .13 .12: LXI H,3-.2 DAD SP PUSH H MOV L,M INX H XCHG POP H MOV M,E .13: LXI H,3-.2 DAD SP MOV E,M MVI D,0 LXI H,20 CALL .lt JZ .14 LXI H,152 PUSH H CALL in_ POP D PUSH H LXI H,.1+447 PUSH H LHLD fd_ PUSH H CALL fprintf_ POP D POP D POP D JMP .12 .14: LXI H,.1+453 PUSH H LHLD fd_ PUSH H CALL fprintf_ POP D POP D LHLD line_ PUSH H LXI H,.1+455 PUSH H LHLD fd_ PUSH H CALL fprintf_ POP D POP D POP D LXI H,0 XCHG LXI H,3-.2 DAD SP MOV M,E JMP .16 .15: LXI H,3-.2 DAD SP PUSH H MOV L,M INX H XCHG POP H MOV M,E .16: LXI H,3-.2 DAD SP MOV E,M MVI D,0 LXI H,20 CALL .lt JZ .17 LXI H,152 PUSH H CALL in_ POP D PUSH H LXI H,.1+461 PUSH H LHLD fd_ PUSH H CALL fprintf_ POP D POP D POP D JMP .15 .17: LXI H,.1+467 PUSH H LHLD fd_ PUSH H CALL fprintf_ POP D POP D LHLD line_ PUSH H LXI H,13 PUSH H LXI H,.1+470 PUSH H CALL printf_ POP D POP D POP D JMP .9 .11: LXI H,.1+480 PUSH H CALL printf_ POP D LXI H,.1+537 PUSH H LHLD fd_ PUSH H CALL fprintf_ POP D POP D LXI H,.1+589 PUSH H LHLD fd_ PUSH H CALL fprintf_ POP D POP D LXI H,.1+643 PUSH H LHLD fd_ PUSH H CALL fprintf_ POP D POP D LXI H,2048 PUSH H CALL vdp_wrvr_ POP D LXI H,152 PUSH H CALL in_ POP D LXI H,0 SHLD ascii_ JMP .19 .18: LHLD ascii_ INX H SHLD ascii_ .19: LHLD ascii_ LXI D,256 XCHG CALL .lt JZ .20 LHLD ascii_ PUSH H LXI H,13 PUSH H LXI H,.1+652 PUSH H CALL printf_ POP D POP D POP D LHLD ascii_ PUSH H LHLD ascii_ PUSH H LXI H,.1+671 PUSH H LHLD fd_ PUSH H CALL fprintf_ XCHG LXI H,8 DAD SP SPHL LXI H,0 SHLD row_ JMP .22 .21: LHLD row_ INX H SHLD row_ .22: LHLD row_ LXI D,8 XCHG CALL .lt JZ .23 LXI H,152 PUSH H CALL in_ POP D MOV A,L STA ubyte_ LDA ubyte_ MOV L,A MVI H,0 PUSH H LXI H,.1+684 PUSH H LHLD fd_ PUSH H CALL fprintf_ POP D POP D POP D LXI H,0 SHLD bit_ JMP .25 .24: LHLD bit_ INX H SHLD bit_ .25: LHLD bit_ LXI D,8 XCHG CALL .lt JZ .26 LXI H,7 XCHG LHLD bit_ CALL .sb PUSH H LXI H,1 POP D XCHG CALL .ls MOV A,L STA bitmask_ LDA bitmask_ MOV L,A MVI H,0 PUSH H LDA ubyte_ MOV L,A MVI H,0 POP D CALL .an SHLD bool_ LHLD bool_ MOV A,H ORA L JNZ .27 LXI H,.1+693 PUSH H LHLD fd_ PUSH H CALL fprintf_ POP D POP D JMP .28 .27: LXI H,.1+695 PUSH H LHLD fd_ PUSH H CALL fprintf_ POP D POP D .28: JMP .24 .26: LXI H,.1+697 PUSH H LHLD fd_ PUSH H CALL fprintf_ POP D POP D JMP .21 .23: LXI H,.1+699 PUSH H LHLD fd_ PUSH H CALL fprintf_ POP D POP D LHLD line_ PUSH H LXI H,13 PUSH H LXI H,.1+701 PUSH H CALL printf_ POP D POP D POP D JMP .18 .20: LXI H,.1+711 PUSH H LHLD fd_ PUSH H CALL fprintf_ POP D POP D LHLD fd_ PUSH H CALL fclose_ POP D LXI H,.1+766 PUSH H CALL printf_ POP D RET .2 EQU -1 .1: DB 116,109,115,115,116,97,116,46,99,111,109,32,49,48,47 DB 48,52,47,50,48,49,50,32,100,119,103,32,45,32,99 DB 114,101,97,116,101,32,116,109,115,57,57,49,56,46,100 DB 109,112,32,102,105,108,101,115,32,102,114,111,109,32,86 DB 82,65,77,10,0,116,109,115,57,57,49,56,46,100,109 DB 112,0,119,0,84,104,105,115,32,105,115,32,97,32,104 DB 101,120,97,100,101,99,105,109,97,108,32,100,117,109,112 DB 32,111,102,32,116,104,101,32,101,110,116,105,114,101,32 DB 49,54,75,32,86,82,65,77,10,0,65,100,100,114,58 DB 32,48,48,32,48,49,32,48,50,32,48,51,32,48,52 DB 32,48,53,32,48,54,32,48,55,32,48,56,32,48,57 DB 32,48,65,32,48,66,32,48,67,32,48,68,32,48,69 DB 32,48,70,10,0,45,45,45,45,45,45,45,45,45,45 DB 45,45,45,45,45,45,45,45,45,45,45,45,45,45,45 DB 45,45,45,45,45,45,45,45,45,45,45,45,45,45,45 DB 45,45,45,45,45,45,45,45,45,45,45,45,45,10,0 DB 37,48,52,120,58,32,0,37,48,50,120,32,0,10,0 DB 37,99,108,105,110,101,32,37,100,0,10,68,117,109,112 DB 32,111,102,32,86,82,65,77,32,67,111,109,112,108,101 DB 116,101,100,10,0,10,84,104,105,115,32,105,115,32,97 DB 32,104,101,120,97,100,101,99,105,56,109,97,108,32,100 DB 117,109,112,32,111,102,32,116,104,101,32,78,97,109,101 DB 32,84,97,98,108,101,32,102,111,114,32,10,0,116,104 DB 101,32,50,52,32,108,105,110,101,115,32,111,102,32,116 DB 104,101,32,100,105,115,112,108,97,121,32,105,110,32,84 DB 101,120,116,32,77,111,100,101,46,10,0,45,45,45,45 DB 45,45,45,45,45,45,45,45,45,45,45,45,45,45,45 DB 45,45,45,45,45,45,45,45,45,45,45,45,45,45,45 DB 45,45,45,45,45,45,45,45,45,45,45,45,45,45,45 DB 45,45,45,45,10,0,37,50,100,58,32,0,37,48,50 DB 120,32,0,10,0,37,50,100,58,32,0,37,48,50,120 DB 32,0,10,10,0,37,99,108,105,110,101,32,37,100,0 DB 10,68,117,109,112,32,111,102,32,78,97,109,101,32,84 DB 97,98,108,101,32,102,111,114,32,52,48,120,50,52,32 DB 84,101,120,116,32,77,111,100,101,32,76,105,110,101,115 DB 32,67,111,109,112,108,101,116,101,100,10,0,10,9,84 DB 104,105,115,32,105,115,32,97,32,72,101,120,97,100,101 DB 99,105,109,97,108,44,32,68,101,99,105,109,97,108,44 DB 32,97,110,100,32,71,114,97,112,104,105,99,32,100,117 DB 109,112,10,0,111,102,32,116,104,101,32,67,104,97,114 DB 97,99,116,101,114,32,71,101,110,101,114,97,116,111,114 DB 32,66,105,116,109,97,112,115,32,102,111,114,32,97,108 DB 108,32,50,53,54,32,65,83,67,73,73,32,0,99,104 DB 97,114,115,46,10,10,0,37,99,68,117,109,112,105,110 DB 103,32,65,83,67,73,73,32,37,100,0,48,120,37,50 DB 120,40,37,51,100,41,58,10,0,48,120,37,48,50,120 DB 58,32,0,32,0,42,0,10,0,10,0,37,99,108,105 DB 110,101,32,37,100,0,45,45,45,45,45,45,45,45,45 DB 45,45,45,45,45,45,45,45,45,45,45,45,45,45,45 DB 45,45,45,45,45,45,45,45,45,45,45,45,45,45,45 DB 45,45,45,45,45,45,45,45,45,45,45,45,45,45,10 DB 0,10,68,117,109,112,32,111,102,32,67,104,97,114,97 DB 99,116,101,114,32,66,105,116,109,97,112,32,68,97,116 DB 97,32,67,111,109,112,108,101,116,101,100,46,10,0 extrn fclose_ extrn fprintf_ extrn in_ extrn printf_ extrn vdp_wrvr_ extrn fopen_ extrn .an extrn .lt extrn .ul extrn .ls extrn .sb END