====== 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:]]