====== EXBIN ======
Header for : Exbin
Module size: $1BA #442
Module CRC : $14D934 (Good)
Hdr parity : $93
Exec. off : $0030 #48
Data size : $02A6 #678
Edition : $43 #67
Ty/La At/Rv: $11 $81
Prog mod, 6809 Obj, re-ent, R/O
===== CODE =====
* Disassembly by Os9disasm of exbin
mod L01ba,L000d,$11,$81,L0030,D02a6
* OS-9 system function equates
F$Exit equ $06
I$Create equ $83
I$Open equ $84
I$Write equ $8a
I$ReadLn equ $8b
I$WritLn equ $8c
* OS9 data area definitions
D0000 rmb 1
D0001 rmb 1
D0002 rmb 2
D0004 rmb 1
D0005 rmb 1
D0006 rmb 2
D0008 rmb 1
D0009 rmb 2
D000b rmb 1
D000c rmb 1
D000d rmb 1
D000e rmb 1
D000f rmb 1
D0010 rmb 2
D0012 rmb 2
D0014 rmb 658
D02a6 equ .
L000d fcb $45
asl $6269
ldu 3,u
clr -16,s
rol 29289
asr 8,s
lsr $2031
rts
fcb $38
fcb $32
bra L006f
clr -12,s
clr -14,s
clr 12,s
fcb $61
bge L004b
rola
jmp 3,s
bgt L0031
L0030 stx D0002
L0031 equ *-1
lda #1
os9 I$Open
bcc L003c
L0039 os9 F$Exit
L003c sta D0000
stx D0002
lda #2
ldb #$7f
os9 I$Create
bcs L0039
sta D0001
L004b stx D0002
ldd #0
std D0009
std D000b
sta D000f
ldx #$4e61
stx D0010
ldx #$6d65
stx D0012
ldx #15648
stx D0014
L0065 lda D0000
leax 22,u
ldy #$0100
os9 I$ReadLn
L006f equ *-2
lblo L0114
leax 22,u
tfr x,y
tfr x,d
addd #$0100
std D0006
L0081 lda ,x+
cmpa #$53
beq L008d
cmpx D0006
bne L0081
bra L0065
L008d lda ,x+
suba #$30
sta D000e
beq L009e
cmpa #9
bne L009b
bra L0065
L009b deca
bne L0065
L009e bsr L011f
sta D0008
suba #3
sta D000c
sta D000d
bsr L011b
tst D000e
beq L00cd
pshs x
ldx D0009
lda D000f
beq L00c0
cmpx D0004
beq L00c6
leax L018d,pcr
bra L00de
L00c0 ldx D0004
lda #1
sta D000f
L00c6 ldb D000c
abx
stx D0009
puls x
L00cd bsr L011f
sta ,y+
dec D000d
bpl L00cd
lda D0008
inca
beq L00eb
leax L0171,pcr
L00de lda #2
ldy #$00ff
os9 I$WritLn
L00e7 clrb
lbra L0039
L00eb lda D000e
bne L0102
lda #$0d
sta ,-y
lda #1
ldy #$00ff
leax 16,u
os9 I$WritLn
lbra L0065
L0102 lda D0001
ldy D000b
leax 22,u
os9 I$Write
lbhs L0065
lbra L0039
L0114 cmpb #$d3
beq L00e7
lbra L0039
L011b bsr L011f
sta D0004
L011f lda ,x+
bsr L013a
asla
asla
asla
asla
anda #$f0
pshs a
lda ,x+
bsr L013a
adda ,s+
sta D0005
adda D0008
sta D0008
lda D0005
rts
L013a suba #$30
bmi L0149
cmpa #9
ble L0148
suba #7
cmpa #$0f
bhi L0149
L0148 rts
L0149 leax >L014f,pcr
bra L00de
L014f bpl L017b
bra L01a1
clra
fcb $4e
blt L019f
fcb $45
lslb
bra L019e
asla
fcb $41
fcb $52
fcb $41
coma
lsrb
fcb $45
fcb $52
bra L01aa
fcb $4e
coma
clra
fcb $55
fcb $4e
lsrb
fcb $45
fcb $52
fcb $45
lsra
asr D000d
L0171 bpl L019d
bra L01b8
asla
fcb $45
coma
fcb $4b
comb
fcb $55
L017b tsta
bra L01c3
fcb $52
fcb $52
clra
fcb $52
bra L01c8
fcb $45
lsrb
fcb $45
coma
lsrb
fcb $45
lsra
asr D000d
L018d bpl L01b9
bra L01df
clra
fcb $4e
blt L01d8
clra
fcb $4e
lsrb
rola
asra
fcb $55
clra
fcb $55
L019d comb
L019e bra L01e1
L019f equ *-1
lsra
L01a1 lsra
fcb $52
fcb $45
comb
comb
bra L01fb
negb
fcb $41
L01aa coma
fcb $45
bra L01f2
fcb $45
lsrb
fcb $45
coma
lsrb
fcb $45
lsra
asr D000d
emod
L01ba equ *
end
===== RTS =====
Return to [[:OS-9:]] or [[:Top:]]