callfunc equ $ PUSH B LXI H,0 DAD SP LXI D,0 XCHG . CALL ccpint CALL blanks LXI H,4 DAD SP CALL ccgint MOV A,H ORA L JNZ cc402 CALL push cc402 equ $ cc403 equ $ LXI H,line PUSH H LHLD lptr POP D DAD D PUSH H LXI H,cc401+0 PUSH H CALL streq POP B POP B MOV A,H ORA L JNZ cc405 CALL endst MOV A,H ORA L JNZ cc404 cc406 equ $ CALL expressi LXI H,4 DAD SP CALL ccgint MOV A,H ORA L JNZ cc407 CALL swapstk cc407 equ $ CALL push LXI H,0 DAD SP PUSH H LXI H,2 DAD SP CALL ccgint LXI D,2 XCHG . DAD D POP D CALL ccpint LXI H,cc401+2 PUSH H CALL match POP B MOV A,H ORA L JNZ cc408 JMP cc404 cc408 equ $ JMP cc403 cc405 equ $ cc404 equ $ LXI H,cc401+4 PUSH H CALL needbrac POP B LXI H,4 DAD SP CALL ccgint MOV A,H ORA L JZ cc409 LXI H,4 DAD SP CALL ccgint PUSH H CALL call POP B JMP cc410 cc409 equ $ CALL callstk cc410 equ $ LHLD xsp PUSH H LXI H,2 DAD SP CALL ccgint POP D DAD D PUSH H CALL modstk POP B SHLD xsp POP B RET junk equ $ CALL inbyte PUSH H CALL an POP B MOV A,H ORA L JZ cc411 cc412 equ $ CALL ch PUSH H CALL an POP B MOV A,H ORA L JZ cc414 CALL gch JMP cc412 cc414 equ $ cc413 equ $ JMP cc415 cc411 equ $ cc416 equ $ CALL ch PUSH H CALL an POP B MOV A,H ORA L JNZ cc418 CALL ch MOV A,H ORA L JNZ cc419 JMP cc417 cc419 equ $ CALL gch JMP cc416 cc418 equ $ cc417 equ $ cc415 equ $ CALL blanks RET endst equ $ CALL blanks LXI H,line PUSH H LHLD lptr POP D DAD D PUSH H LXI H,cc401+6 PUSH H CALL streq POP B POP B PUSH H CALL ch LXI D,0 XCHG . CALL cceq POP D CALL ccor RET illname equ $ LXI H,cc401+8 PUSH H CALL error POP B CALL junk RET multidef equ $ LXI H,cc401+28 PUSH H CALL error POP B CALL comment LXI H,2 DAD SP CALL ccgint PUSH H CALL outstr POP B CALL nl RET needbrac equ $ LXI H,2 DAD SP CALL ccgint PUSH H CALL match POP B MOV A,H ORA L JNZ cc420 LXI H,cc401+44 PUSH H CALL error POP B CALL comment LXI H,2 DAD SP CALL ccgint PUSH H CALL outstr POP B CALL nl cc420 equ $ RET needlval equ $ LXI H,cc401+60 PUSH H CALL error POP B RET findglb equ $ PUSH B LXI H,0 DAD SP LXI D,symtab XCHG . CALL ccpint cc421 equ $ LXI H,0 DAD SP CALL ccgint PUSH H LHLD glbptr POP D CALL ccne MOV A,H ORA L JZ cc423 LXI H,4 DAD SP CALL ccgint PUSH H LXI H,2 DAD SP CALL ccgint PUSH H LXI H,8 PUSH H CALL astreq POP B POP B POP B MOV A,H ORA L JZ cc424 LXI H,0 DAD SP CALL ccgint POP B RET cc424 equ $ LXI H,0 DAD SP PUSH H LXI H,2 DAD SP CALL ccgint LXI D,16 XCHG . DAD D POP D CALL ccpint JMP cc421 cc423 equ $ cc422 equ $ LXI H,0 POP B RET findloc equ $ PUSH B LXI H,0 DAD SP PUSH H LXI H,symtab PUSH H LXI H,300 LXI D,16 XCHG . CALL ccmult POP D DAD D LXI D,16 XCHG . DAD D POP D CALL ccpint cc425 equ $ LXI H,0 DAD SP CALL ccgint PUSH H LHLD locptr POP D CALL ccne MOV A,H ORA L JZ cc427 LXI H,4 DAD SP CALL ccgint PUSH H LXI H,2 DAD SP CALL ccgint PUSH H LXI H,8 PUSH H CALL astreq POP B POP B POP B MOV A,H ORA L JZ cc428 LXI H,0 DAD SP CALL ccgint POP B RET cc428 equ $ LXI H,0 DAD SP PUSH H LXI H,2 DAD SP CALL ccgint LXI D,16 XCHG . DAD D POP D CALL ccpint JMP cc425 cc427 equ $ cc426 equ $ LXI H,0 POP B RET addglb equ $ PUSH B LXI H,12 DAD SP CALL ccgint PUSH H CALL findglb POP B SHLD cptr MOV A,H ORA L JZ cc429 LHLD cptr POP B RET cc429 equ $ LHLD glbptr PUSH H LXI H,symtab PUSH H LXI H,300 LXI D,16 XCHG . CALL ccmult POP D DAD D POP D CALL ccuge MOV A,H ORA L JZ cc430 LXI H,cc401+75 PUSH H CALL error POP B LXI H,0 POP B RET cc430 equ $ LXI H,0 DAD SP PUSH H LHLD glbptr POP D CALL ccpint SHLD cptr cc431 equ $ LXI H,0 DAD SP PUSH H CALL ccgint INX H POP D CALL ccpint DCX H PUSH H LXI H,14 DAD SP PUSH H CALL ccgint INX H POP D CALL ccpint DCX H MOV L,M MVI H,0 POP D MOV A,L STAX D PUSH H CALL an POP B MOV A,H ORA L JNZ cc431 cc433 equ $ cc432 equ $ LHLD cptr LXI D,9 XCHG . DAD D PUSH H LXI H,12 DAD SP MOV L,M MVI H,0 POP D MOV A,L STAX D LHLD cptr LXI D,10 XCHG . DAD D PUSH H LXI H,10 DAD SP MOV L,M MVI H,0 POP D MOV A,L STAX D LHLD cptr LXI D,11 XCHG . DAD D PUSH H LXI H,6 DAD SP MOV L,M MVI H,0 POP D MOV A,L STAX D LHLD cptr LXI D,12 XCHG . DAD D PUSH H LXI H,8 DAD SP CALL ccgint POP D MOV A,L STAX D LHLD cptr PUSH H LXI H,12 LXI D,1 XCHG . DAD D POP D DAD D PUSH H LXI H,8 DAD SP CALL ccgint LXI D,8 XCHG . CALL ccasr POP D MOV A,L STAX D LHLD glbptr LXI D,16 XCHG . DAD D SHLD glbptr LHLD cptr POP B RET addloc equ $ PUSH B LXI H,12 DAD SP CALL ccgint PUSH H CALL findloc POP B SHLD cptr MOV A,H ORA L JZ cc434 LHLD cptr POP B RET cc434 equ $ LHLD locptr PUSH H LXI H,symtab LXI D,5160 XCHG . DAD D LXI D,16 XCHG . CALL ccsub POP D CALL ccuge MOV A,H ORA L JZ cc435 LXI H,cc401+104 PUSH H CALL error POP B LXI H,0 POP B RET cc435 equ $ LXI H,0 DAD SP PUSH H LHLD locptr POP D CALL ccpint SHLD cptr cc436 equ $ LXI H,0 DAD SP PUSH H CALL ccgint INX H POP D CALL ccpint DCX H PUSH H LXI H,14 DAD SP PUSH H CALL ccgint INX H POP D CALL ccpint DCX H MOV L,M MVI H,0 POP D MOV A,L STAX D PUSH H CALL an POP B MOV A,H ORA L JNZ cc436 cc438 equ $ cc437 equ $ LHLD cptr LXI D,9 XCHG . DAD D PUSH H LXI H,12 DAD SP MOV L,M MVI H,0 POP D MOV A,L STAX D LHLD cptr LXI D,10 XCHG . DAD D PUSH H LXI H,10 DAD SP MOV L,M MVI H,0 POP D MOV A,L STAX D LHLD cptr LXI D,11 XCHG . DAD D PUSH H LXI H,6 DAD SP MOV L,M MVI H,0 POP D MOV A,L STAX D LHLD cptr LXI D,12 XCHG . DAD D PUSH H LXI H,8 DAD SP CALL ccgint POP D MOV A,L STAX D LHLD cptr PUSH H LXI H,12 LXI D,1 XCHG . DAD D POP D DAD D PUSH H LXI H,8 DAD SP CALL ccgint LXI D,8 XCHG . CALL ccasr POP D MOV A,L STAX D LHLD locptr LXI D,16 XCHG . DAD D SHLD locptr LHLD cptr POP B RET symname equ $ PUSH B DCX SP CALL blanks CALL ch PUSH H CALL alpha POP B MOV A,H ORA L JNZ cc439 LXI H,0 INX SP POP B RET cc439 equ $ LXI H,1 DAD SP LXI D,0 XCHG . CALL ccpint cc440 equ $ CALL ch PUSH H CALL an POP B MOV A,H ORA L JZ cc442 LXI H,5 DAD SP CALL ccgint PUSH H LXI H,3 DAD SP PUSH H CALL ccgint INX H POP D CALL ccpint DCX H POP D DAD D PUSH H CALL gch POP D MOV A,L STAX D JMP cc440 cc442 equ $ cc441 equ $ LXI H,5 DAD SP CALL ccgint PUSH H LXI H,3 DAD SP CALL ccgint POP D DAD D MVI M,0 LXI H,1 INX SP POP B RET getlabel equ $ LHLD nxtlab INX H SHLD nxtlab RET printlab equ $ LXI H,prefix PUSH H CALL outstr POP B LXI H,2 DAD SP CALL ccgint PUSH H CALL outdec POP B RET alpha equ $ LXI H,2 DAD SP PUSH H LXI H,4 DAD SP MOV L,M MVI H,0 LXI D,127 XCHG . CALL ccand POP D MOV A,L STAX D LXI H,2 DAD SP MOV L,M MVI H,0 LXI D,97 XCHG . CALL ccge PUSH H LXI H,4 DAD SP MOV L,M MVI H,0 LXI D,122 XCHG . CALL ccle POP D CALL ccland MOV A,H ORA L JZ cc443 LXI H,1 RET cc443 equ $ LXI H,2 DAD SP MOV L,M MVI H,0 LXI D,65 XCHG . CALL ccge PUSH H LXI H,4 DAD SP MOV L,M MVI H,0 LXI D,90 XCHG . CALL ccle POP D CALL ccland MOV A,H ORA L JZ cc445 LXI H,1 RET cc445 equ $ LXI H,2 DAD SP MOV L,M MVI H,0 LXI D,95 XCHG . CALL cceq MOV A,H ORA L JZ cc447 LXI H,1 RET cc447 equ $ LXI H,0 RET cc448 equ $ cc446 equ $ cc444 equ $ RET numeric equ $ LXI H,2 DAD SP PUSH H LXI H,4 DAD SP MOV L,M MVI H,0 LXI D,127 XCHG . CALL ccand POP D MOV A,L STAX D LXI H,2 DAD SP MOV L,M MVI H,0 LXI D,48 XCHG . CALL ccge PUSH H LXI H,4 DAD SP MOV L,M MVI H,0 LXI D,57 XCHG . CALL ccle POP D CALL ccand RET an equ $ LXI H,2 DAD SP MOV L,M MVI H,0 PUSH H CALL alpha POP B MOV A,H ORA L JZ cc449 LXI H,1 RET cc449 equ $ LXI H,2 DAD SP MOV L,M MVI H,0 PUSH H CALL numeric POP B RET cc450 equ $ RET pl equ $ PUSH B LXI H,0 DAD SP LXI D,0 XCHG . CALL ccpint LXI H,13 PUSH H CALL putchar POP B cc451 equ $ LXI H,4 DAD SP CALL ccgint PUSH H LXI H,2 DAD SP CALL ccgint POP D DAD D MOV L,M MVI H,0 MOV A,H ORA L JZ cc453 LXI H,4 DAD SP CALL ccgint PUSH H LXI H,2 DAD SP PUSH H CALL ccgint INX H POP D CALL ccpint DCX H POP D DAD D MOV L,M MVI H,0 PUSH H CALL putchar POP B JMP cc451 cc453 equ $ cc452 equ $ POP B RET addwhile equ $ PUSH B LHLD wqptr PUSH H LXI H,wq LXI D,50 XCHG . DAD D LXI D,2 XCHG . CALL ccsub POP D CALL cceq MOV A,H ORA L JZ cc454 LXI H,cc401+132 PUSH H CALL error POP B POP B RET cc454 equ $ LXI H,0 DAD SP LXI D,0 XCHG . CALL ccpint cc455 equ $ LXI H,0 DAD SP CALL ccgint LXI D,2 XCHG . CALL cclt MOV A,H ORA L JZ cc457 LHLD wqptr INX H INX H SHLD wqptr DCX H DCX H PUSH H LXI H,6 DAD SP CALL ccgint PUSH H LXI H,4 DAD SP PUSH H CALL ccgint INX H POP D CALL ccpint DCX H DAD H POP D DAD D CALL ccgint POP D CALL ccpint JMP cc455 cc457 equ $ cc456 equ $ POP B RET delwhile equ $ CALL readwhil MOV A,H ORA L JZ cc458 LHLD wqptr PUSH H LXI H,2 DAD H POP D CALL ccsub SHLD wqptr cc458 equ $ RET readwhil equ $ LHLD wqptr LXI D,wq XCHG . CALL cceq MOV A,H ORA L JZ cc459 LXI H,cc401+155 PUSH H CALL error POP B LXI H,0 RET cc459 equ $ LHLD wqptr PUSH H LXI H,2 DAD H POP D CALL ccsub RET cc460 equ $ RET ch equ $ LXI H,line PUSH H LHLD lptr POP D DAD D MOV L,M MVI H,0 LXI D,127 XCHG . CALL ccand RET nch equ $ CALL ch MOV A,H ORA L JNZ cc461 LXI H,0 RET cc461 equ $ LXI H,line PUSH H LHLD lptr LXI D,1 XCHG . DAD D POP D DAD D MOV L,M MVI H,0 LXI D,127 XCHG . CALL ccand RET cc462 equ $ RET gch equ $ CALL ch MOV A,H ORA L JNZ cc463 LXI H,0 RET cc463 equ $ LXI H,line PUSH H LHLD lptr INX H SHLD lptr DCX H POP D DAD D MOV L,M MVI H,0 LXI D,127 XCHG . CALL ccand RET cc464 equ $ RET kill equ $ LXI H,0 SHLD lptr LXI H,line PUSH H LHLD lptr POP D DAD D MVI M,0 RET inbyte equ $ cc465 equ $ CALL ch MOV A,H ORA L JNZ cc467 LHLD eof MOV A,H ORA L JZ cc468 LXI H,0 RET cc468 equ $ CALL inline CALL preproce JMP cc465 cc467 equ $ cc466 equ $ CALL gch RET inchar equ $ CALL ch MOV A,H ORA L JNZ cc469 CALL inline cc469 equ $ LHLD eof MOV A,H ORA L JZ cc470 LXI H,0 RET cc470 equ $ CALL gch RET inline equ $ PUSH B PUSH B cc471 equ $ LXI H,1 MOV A,H ORA L JZ cc473 LHLD eof MOV A,H ORA L JZ cc474 POP B POP B RET cc474 equ $ LXI H,0 DAD SP PUSH H LHLD input2 POP D CALL ccpint MOV A,H ORA L JNZ cc475 LXI H,0 DAD SP PUSH H LHLD input POP D CALL ccpint cc475 equ $ CALL kill cc476 equ $ LXI H,2 DAD SP PUSH H LXI H,2 DAD SP CALL ccgint PUSH H CALL getc POP B POP D CALL ccpint LXI D,0 XCHG . CALL ccgt MOV A,H ORA L JZ cc478 LXI H,2 DAD SP CALL ccgint LXI D,13 XCHG . CALL cceq PUSH H LHLD lptr PUSH H LXI H,80 DCX H POP D CALL ccge POP D CALL ccor MOV A,H ORA L JNZ cc477 cc479 equ $ LXI H,2 DAD SP CALL ccgint LXI D,12 XCHG . CALL cceq MOV A,H ORA L JZ cc480 LXI H,2 DAD SP LXI D,32 XCHG . CALL ccpint cc480 equ $ LXI H,line PUSH H LHLD lptr INX H SHLD lptr DCX H POP D DAD D PUSH H LXI H,4 DAD SP CALL ccgint POP D MOV A,L STAX D JMP cc476 cc478 equ $ cc477 equ $ LXI H,line PUSH H LHLD lptr POP D DAD D MVI M,0 LXI H,2 DAD SP CALL ccgint LXI D,0 XCHG . CALL ccle MOV A,H ORA L JZ cc481 LXI H,0 DAD SP CALL ccgint PUSH H CALL fclose POP B LHLD input2 MOV A,H ORA L JZ cc482 LXI H,0 SHLD input2 JMP cc483 cc482 equ $ LXI H,1 SHLD eof cc483 equ $ cc481 equ $ LHLD lptr MOV A,H ORA L JZ cc484 LHLD ctext PUSH H LHLD cmode POP D CALL ccand MOV A,H ORA L JZ cc485 CALL comment LXI H,line PUSH H CALL outstr POP B CALL nl cc485 equ $ LXI H,0 SHLD lptr POP B POP B RET cc484 equ $ JMP cc471 cc473 equ $ cc472 equ $ POP B POP B RET cc401 equ $ DB 41,0,44,0,41,0,59,0,105,108 DB 108,101,103,97,108,32,115,121,109,98 DB 111,108,32,110,97,109,101,0,97,108 DB 114,101,97,100,121,32,100,101,102,105 DB 110,101,100,0,109,105,115,115,105,110 DB 103,32,98,114,97,99,107,101,116,0 DB 109,117,115,116,32,98,101,32,108,118 DB 97,108,117,101,0,103,108,111,98,97 DB 108,32,115,121,109,98,111,108,32,116 DB 97,98,108,101,32,111,118,101,114,102 DB 108,111,119,0,108,111,99,97,108,32 DB 115,121,109,98,111,108,32,116,97,98 DB 108,101,32,111,118,101,114,102,108,111 DB 119,0,116,111,111,32,109,97,110,121 DB 32,97,99,116,105,118,101,32,119,104 DB 105,108,101,115,0,78,111,32,97,99 DB 116,105,118,101,32,119,104,105,108,101 DB 115,0