====== PWD ======
Header for : pwd
Module size: $130 #304
Module CRC : $FB5CC0 (Good)
Hdr parity : $19
Exec. off : $0035 #53
Data size : $01C9 #457
Edition : $01 #1
Ty/La At/Rv: $11 $81
Prog mod, 6809 Obj, re-ent, R/O
===== CODE =====
* Disassembly by Os9disasm of pwd
mod L0130,L000d,$11,$81,L0035,D01c9
* OS-9 system function equates
F$Exit equ $06
F$PrsNam equ $10
I$Open equ $84
I$ChgDir equ $86
I$Read equ $89
I$Write equ $8a
I$WritLn equ $8c
I$GetStt equ $8d
I$Close equ $8f
* OS9 data area definitions
D0000 rmb 1
D0001 rmb 2
D0003 rmb 2
D0005 rmb 1
D0006 rmb 2
D0008 rmb 1
D0009 rmb 2
D000b rmb 32
D002b rmb 2
D002d rmb 3
D0030 rmb 66
D0072 rmb 53
D00a7 rmb 290
D01c9 equ .
L000d neg 30692
fcb $01
L0011 neg 30564
abx
bra L0079
fcb $61
fcb $64
bra L0089
fcb $61
tst 5,s
bra L0089
fcb $6e
bra L0093
fcb $61
lsr $680d
L0027 bgt L0057
L0028 equ *-1
L0029 tst D0072
L002a equ *-1
fcb $65
fcb $61
fcb $64
bra L0095
fcb $72
fcb $72
clr -14,s
tst D0030
L0035 equ *-1
adcb #0
ldx a,x
tst D00a7
anda #$9f
fcb $01
leax >L0028,pcr
bsr L0096
sta D0000
lbsr L00cd
ldd D0003
std D0009
lda D0005
sta D000b
L0052 bsr L00c6
beq L0079
leax >L0027,pcr
L0057 equ *-3
bsr L0090
lda D0000
os9 I$Close
bcs L008d
leax >L0028,pcr
bsr L0096
bsr L00cd
bsr L00a8
bsr L00e2
ldd D0003
std D0009
lda D0005
sta D000b
bra L0052
L0079 lbsr L00fb
ldx D0001
ldy #$0081
lda #1
os9 I$WritLn
lda D0000
L0089 os9 I$Close
clrb
L008d os9 F$Exit
L0090 lda #$81
os9 I$ChgDir
L0093 equ *-2
L0095 rts
L0096 lda #$81
os9 I$Open
rts
L009c lda D0000
leax 14,u
ldy #$0020
os9 I$Read
rts
L00a8 lda D0000
bsr L009c
bcs L010f
leax 14,u
leax 29,x
leay 9,u
bsr L00ba
bne L00a8
rts
L00ba ldd ,x++
cmpd ,y++
bne L00c5
lda ,x
cmpa ,y
L00c5 rts
L00c6 leax 3,u
leay 6,u
bsr L00ba
rts
L00cd bsr L009c
ldd D002b
std D0006
lda D002d
sta D0008
bsr L009c
ldd D002b
std D0003
lda D002d
sta D0005
rts
L00e2 leax 14,u
L00e4 os9 F$PrsNam
bcs L0109
ldx D0001
L00eb lda ,-y
anda #$7f
sta ,-x
decb
bne L00eb
lda #$2f
sta ,-x
stx D0001
rts
L00fb lda D0000
ldb #$0e
leax 175,u
os9 I$GetStt
bsr L00e4
rts
L0109 leax L0011,pcr
bra L0123
L010f leax L002a,pcr
bra L0123
L0115 lda #2
os9 I$Write
bcs L0128
rts
bsr L0115
leax L0029,pcr
L0123 lda #2
os9 I$WritLn
L0128 ldb #0
os9 F$Exit
emod
L0130 equ *
end
===== RTS =====
Return to [[:OS-9:]] or [[:Top:]]