Table of Contents

COPY

Header for : Copy
Module size: $2DC  #732
Module CRC : $C75D81 (Good)
Hdr parity : $F6
Exec. off  : $00D8  #216
Data size  : $1300  #4864
Edition    : $07  #7
Ty/La At/Rv: $11 $81
Prog mod, 6809 Obj, re-ent, R/O

CODE

* Disassembly by Os9disasm of copy

 mod L02dc,L000d,$11,$81,L00d8,D1300

* OS-9 system function equates

F$Exit equ $06
I$Create equ $83
I$Open equ $84
I$Seek equ $88
I$Read equ $89
I$Write equ $8a
I$WritLn equ $8c
I$GetStt equ $8d
I$SetStt equ $8e
I$Close equ $8f

* class D external label equates

Dffff equ $ffff

* OS9 data area definitions

D0000 rmb 1
D0001 rmb 1
D0002 rmb 1
D0003 rmb 1
D0004 rmb 2
D0006 rmb 2
D0008 rmb 2
D000a rmb 2
D000c rmb 2
D000e rmb 1
D000f rmb 17
D0020 rmb 18
D0032 rmb 2
D0034 rmb 17
D0045 rmb 4795
D1300 equ .

L000d coma  
 clr   -16,s
 adcb  $0752
L0012 equ *-1
 fcb $65
 fcb $61
 lsr   -7,s
 bra   L006c
 clra  
 fcb $55
 fcb $52
 coma  
 fcb $45
 bge   L0040
 asl   9,s
 lsr   $2043
 bra   L009b
 fcb $6f
 bra   L008d
 clr   14,s
 lsr   $696e
 fcb $75
 fcb $65
 abx   
 bra   L0086
L0033 equ *-1
 fcb $65
 fcb $61
 lsr   -7,s
 bra   L007e
 fcb $45
 comb  
 lsrb  
 rola  
 fcb $4e
 fcb $41
L0040 lsrb  
 rola  
 clra  
 fcb $4e
 bge   L0066
 asl   9,s
 lsr   $2043
 bra   L00c1
 fcb $6f
 bra   L00b3
 clr   14,s
 lsr   $696e
 fcb $75
 fcb $65
 abx   
 bra   L0067
L0059 equ *-1
L005a fcb $55
 com   $653a
 bra   L00a3
 clr   -16,s
 rol   $203c
 negb  
L0066 fcb $61
L0067 lsr   $6831
 fcb $3e
 bra   L00a9
L006c equ *-1
 negb  
 fcb $61
 lsr   $6832
 fcb $3e
 bra   L00d0
 blt   L00ea
 tstb  
 dec   D0020
 bra   L00a9
 com   $203d
L007e equ *-1
 bra   L00f4
 rol   14,s
 asr   12,s
 fcb $65
L0086 bra   L00ec
 fcb $72
 rol   -10,s
 fcb $65
 bra   L00f1
L008d equ *-1
 clr   -16,s
 rol   $2028
 negb  
 fcb $61
 lsr   $6832
 bra   L0107
 fcb $75
L009b com   29728
 fcb $62
 fcb $65
 bra   L0105
 clr   13,s
L00a3 equ *-1
 neg   $6c65
 lsr   $6520
L00a9 equ *-1
 neg   $6174
 asl   12,s
 rol   -13,s
 lsr   $290d
L00b3 equ *-1
L00b4 asr   D0045
 fcb $72
 fcb $72
 clr   -14,s
 bra   L00e9
 bra   L0135
 fcb $72
 rol   -12,s
L00c1 fcb $65
 bra   L013a
 fcb $65
 fcb $72
 rol   6,s
 rol   3,s
 fcb $61
 lsr   $696f
 fcb $6e
 bra   L0137
L00d0 equ *-1
 fcb $61
 rol   12,s
 fcb $65
 lsr   D000e,y
 tst   D0032
L00d8 equ *-1
 adcb  #2
 neg   D0034
 nega  
 leau  16,u
L00e1 clr   ,-u
 cmpu  ,s
 bhi   L00e1
 tfr   y,d
L00e9 equ *-1
L00ea subd  ,s++
L00ec subd  #$0300
 clrb  
 std   D0004
L00f1 equ *-1
 pshs  x
L00f4 lda   ,x+
 cmpa  #$2d
 beq   L0100
 cmpa  #$0d
 bne   L00f4
 bra   L0113
L0100 ldd   ,x+
 eora  #$53
 anda  #$df
L0105 equ *-1
 bne   L0110
L0107 equ *-1
 cmpb  #$30
 bcc   L0110
 inc   D000e
 bra   L00f4
L0110 lbra  L0276
L0113 puls  x
 lda   #1
 os9 I$Open
 bcc   L0125
 cmpb  #$d7
 lbeq  L0276
 lbra  L027d
L0125 sta   D0000
 tst   D000e
 beq   L0135
 lda   ,x
 ldb   #$d7
 cmpa  #$2f
 lbne  L027d
L0135 pshs  x
L0137 lda   D0000
 leax  16,u
L013a equ *-2
 ldb   #0
 os9 I$GetStt
 lblo  L027d
 lda   ,x
 sta   D0002
 ldb   #$0f
 cmpa  #1
 bne   L0165
 pshs  x,u
 lda   D0000
 ldb   #2
 os9 I$GetStt
 lblo  L027d
 stx   D0006
 stu   D0008
 puls  x,u
 ldb   19,x
L0165 stb   D000f
 puls  x
 lda   #1
 lbsr  L028a
 lda   #3
 ldb   D000f
 os9 I$Create
 bcc   L0184
 inc   D0003
 lda   #2
 ldb   D000f
 os9 I$Create
 lblo  L027d
L0184 sta   D0001
 leax  16,u
 ldb   #0
 os9 I$GetStt
 lblo  L027d
 ldb   ,x
 cmpb  #1
 beq   L019c
 inc   D0003
 bra   L01dd
L019c tst   D0003
 bne   L01ad
 ldb   #1
 stb   8,x
 ldb   #0
 os9 I$SetStt
 lblo  L027d
L01ad lda   D0002
 cmpa  #1
 bne   L01dd
 pshs  u
 lda   D0001
 ldb   #2
 ldx   D0006
 ldu   D0008
 os9 I$SetStt
 lblo  L027d
 puls  u
 leax  16,u
 ldy   #$0010
 lda   D0000
 ldb   #$0f
 os9 I$GetStt
 bcs   L01dd
 lda   D0001
 ldb   #$0f
 os9 I$SetStt
L01dd leax  768,u
 clra  
 lbsr  L028a
 lda   D0000
 ldy   D0004
 os9 I$Read
 bcs   L025a
 lda   #1
 lbsr  L028a
 lda   D0001
 os9 I$Write
 lblo  L027d
 tst   D0003
 bne   L024d
 pshs  y,u
 ldx   D000a
 ldu   D000c
 lda   D0001
 os9 I$Seek
 bcs   L027d
 ldu   2,s
 leau  768,u
 ldd   ,s
 addd  D000c
 std   D000c
 ldd   ,s
 bcc   L0222
 leax  1,x
 stx   D000a
L0222 ldy   #$0100
 std   ,s
 tsta  
 bne   L022d
 tfr   d,y
L022d ldx   2,s
 leax  512,x
 lda   D0001
 os9 I$Read
 bcs   L027d
L023a lda   ,u+
 cmpa  ,x+
 bne   L026b
 leay  Dffff,y
 bne   L023a
 ldd   ,s
 subd  #$0100
 bhi   L0222
 puls  y,u
L024d lda   D0000
 ldb   #6
 os9 I$GetStt
 bcc   L01dd
 cmpb  #$d3
 beq   L0262
L025a cmpb  #$d3
 bne   L027d
 lda   #1
 bsr   L028a
L0262 lda   D0001
 os9 I$Close
 bcc   L027c
 bra   L027d
L026b leax  L00b4,pcr
 bsr   L0280
 comb  
 ldb   #1
 bra   L027d
L0276 leax  L005a,pcr
 bsr   L0280
L027c clrb  
L027d os9 F$Exit
L0280 ldy   #$0100
L0284 lda   #1
 os9 I$WritLn
 rts   
L028a tst   D000e
 beq   L02c7
 pshs  x,y
L0290 pshs  a
 tsta  
 bne   L029f
 leax  L0012,pcr
 ldy   #$0021
 bra   L02a7
L029f leax  L0033,pcr
 ldy   #$0026
L02a7 bsr   L0284
 leax  ,-s
 ldy   #1
 clra  
 os9 I$Read
 lda   ,s+
 eora  #$43
 anda  #$df
 beq   L02c1
 bsr   L02c8
 puls  a
 bne   L0290
L02c1 bsr   L02c8
 puls  a
 puls  x,y
L02c7 rts   
L02c8 pshs  a,x,y
 lda   #1
 leax  L0059,pcr
 ldy   #$0050
 os9 I$WritLn
 puls  a,x,y,pc

 emod 

L02dc equ *

 end

RTS

Return to OS-9 or Top