|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 896 (0x380) Types: TextFile Names: »PSTAT.SRC«
└─⟦c9df7130d⟧ Bits:30005915 Pascal MT+ Release 5.2 (Jet-80) └─ ⟦this⟧ »PSTAT.SRC«
;PRINTS STATEMENT NUMBER IF TRACES OR EXT.ERROR MESSAGES ON ; NAME PSTAT ENTRY PSTAT EXT STMTMSG,TXTYP,CO,CRLF ; PSTAT: PUSH H ;SAVE HEAP POINTER LXI H,STMTMSG ;PRINT STATEMENT MESSAGE PUSH B ;STATEMENT NUMBER -> HL CALL TXTYP POP H PUSH H LXI D,1000 ;DO THOUSANDS DIGIT CALL DIGIT LXI D,100 ;DO HUNDREDS DIGIT CALL DIGIT LXI D,10 ;DO TENS DIGIT CALL DIGIT LXI D,1 ;DO ONES DIGIT CALL DIGIT LXI H,CRLF ;POINT TO CRLF CALL TXTYP ;PRINT IT POP B ;RESTORE STATEMENT NUMBER POP H ;RESTORE HEAP POINTER XRA A ;CLEAR ACC RET ; DIGIT: MVI C,'0'-1 ;INITIALIZE ASCII COUNTER XRA A ;CLEAR CARRY DIG1: INR C ;BUMP COUNTER DSBC D ;TRY ANOTHER SUBTRACTION JRNC DIG1 ;KEEP IT UP WHILE POSITIVE RESULT DAD D ;ELSE MAKE RESULT +IVE JMP CO ;PRINT CHAR AND RETURN TO CALLER «eof»