====== PRINTERR ====== Header for : Printerr Module size: $F6 #246 Module CRC : $E61370 (Good) Hdr parity : $DE Exec. off : $003D #61 Data size : $0056 #86 Edition : $06 #6 Ty/La At/Rv: $11 $81 Prog mod, 6809 Obj, re-ent, R/O ===== CODE ===== * Disassembly by Os9disasm of printerr mod L00f6,L000d,$11,$81,L003d,D0056 * OS-9 system function equates F$Link equ $00 F$Exit equ $06 F$SSvc equ $32 I$Open equ $84 I$ReadLn equ $8b I$WritLn equ $8c I$Close equ $8f * OS9 data area definitions rmb 15 D000f rmb 29 D002c rmb 31 D004b rmb 11 D0056 equ . L000d negb fcb $72 rol 14,s lsr $6572 sbcb $062f L0016 equ *-1 lsra leax D000f,y comb rolb comb ble L0064 fcb $52 fcb $52 tsta comb asra tst D002c bge L0054 bge L0056 bge L0058 bge L005a bge L005c bge L0077 L0031 equ *-1 fcb $72 fcb $72 clr -14,s bra L005b stu $0f00 L0039 equ *-2 fcb $14 suba #$4f L003d equ *-1 leax L0016,pcr os9 I$Open sta 1,u bcs L0088 bsr L008d bcs L0083 bne L0083 L0077 bsr L00d4 bsr L009c bcs L0083 ldb ,x cmpb #$30 bcs L0077 L0083 lda 1,u os9 I$Close L0088 leas 86,s L008b clrb rts L008d bsr L009c bcs L009b bsr L00de cmpa #$30 bcc L008d cmpb 2,u bne L008d L009b rts L009c lda 1,u leax 5,u ldy #$0050 os9 I$ReadLn rts L00a8 leax >L0031,pcr leay 5,u lda ,x+ L00b0 sta ,y+ lda ,x+ bpl L00b0 ldb 2,u lda #$2f L00ba inca subb #$64 bcc L00ba sta ,y+ lda #$3a L00c3 deca addb #$0a bcc L00c3 sta ,y+ tfr b,a adda #$30 ldb #$0d std ,y+ leax 5,u L00d4 ldy #$0050 lda ,u os9 I$WritLn rts L00de clrb L00df lda ,x+ suba #$30 cmpa #9 bhi L00f0 pshs a lda #$0a mul addb ,s+ bcc L00df L00f0 lda -1,x rts emod L00f6 equ * end ===== RTS ===== Return to [[:OS-9:]] or [[:Top:]]