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

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies