====== MDIR ====== Header for : Mdir Module size: $1A6 #422 Module CRC : $C459BC (Good) Hdr parity : $8F Exec. off : $0066 #102 Data size : $0127 #295 Edition : $03 #3 Ty/La At/Rv: $11 $81 Prog mod, 6809 Obj, re-ent, R/O ===== CODE ===== * Disassembly by Os9disasm of mdir mod L01a6,L000d,$11,$81,L0066,D0127 * OS-9 system function equates F$Exit equ $06 F$Time equ $15 I$WritLn equ $8c * OS9 data area definitions D0000 rmb 2 D0002 rmb 2 D0004 rmb 2 D0006 rmb 1 D0007 rmb 1 D0008 rmb 37 D002d rmb 3 D0030 rmb 111 D009f rmb 136 D0127 equ . L000d tsta lsr 9,s sbcb $030a bra L0062 clr 4,s fcb $75 inc 5,s bra L0060 rol -14,s fcb $65 com -12,s clr -14,s rol $2061 lsr $200a L0028 equ *-1 fcb $41 lsra lsra fcb $52 bra L0082 rola decb fcb $45 bra L0088 rolb bra L0089 rorb bra L007b lsrb bra L0092 coma bra L0060 bra L0090 fcb $41 tsta fcb $45 dec D002d blt L0076 blt L006b blt L007a blt L007c bra L007e blt L0073 blt L0082 bra L0084 blt L0079 blt L0088 bra L008a blt L008c blt L008e L0060 equ *-1 blt L0090 L0062 equ *-1 blt L0092 tst D009f L0066 equ *-1 lsr D0030 cmpx #$a710 L006b equ *-1 ldx #$0016 lda #1 os9 I$WritLn L0073 equ *-1 leax 9,u L0076 os9 F$Time L0079 leax 15,u L007a equ *-1 L007b stx D0007 L007c equ *-1 leax 12,u L007e equ *-1 lbsr L017d L0082 lbsr L016a L0084 equ *-1 ldx >$0026 L0088 stx D0000 L0089 equ *-1 L008a ldd >$0028 L008c equ *-1 std D0002 L008e equ *-1 leax -4,x L0090 equ *-1 ldy D0004 L0092 equ *-2 lda ,y+ eora #$45 anda #$df bne L00cf leax >L0028,pcr ldy #$003e lda #1 os9 I$WritLn ldx D0000 bra L0113 L00ad ldy ,x beq L00d4 ldd D0004,y leay d,y lbsr L015f L00b9 lbsr L014c ldb D0008 subb #$0f cmpb #$15 bhi L00cc L00c4 subb #$0a bhi L00c4 bne L00b9 bra L00d4 L00cc lbsr L016a L00cf leay 15,u sty D0007 L00d4 leax 4,x cmpx D0002 bcs L00ad lbsr L016a bra L0117 L00df leay 15,u sty D0007 ldy ,x beq L0111 ldd ,x bsr L011b ldd D0002,y bsr L011b lda D0006,y bsr L0123 lda D0007,y anda #$0f bsr L0123 ldb D0007,y lda #$72 bsr L0158 bsr L014c bsr L014c lda 2,x bsr L0123 ldd D0004,y leay d,y bsr L015f bsr L016a L0111 leax 4,x L0113 cmpx D0002 bcs L00df L0117 clrb os9 F$Exit L011b bsr L0127 tfr b,a bsr L0129 bra L014c L0123 bsr L0127 bra L014c L0127 clr D0006 L0129 pshs a lsra lsra lsra lsra bsr L0135 lda ,s+ anda #$0f L0135 tsta beq L013a sta D0006 L013a tst D0006 bne L0142 lda #$20 bra L014e L0142 adda #$30 cmpa #$39 bls L014e adda #7 bra L014e L014c lda #$20 L014e pshs x ldx D0007 sta ,x+ stx D0007 puls x,pc L0158 rolb bcs L014e lda #$2e bra L014e L015f lda ,y anda #$7f bsr L014e lda ,y+ bpl L015f rts L016a pshs a,x,y lda #$0d bsr L014e leax 15,u ldy #$0050 lda #1 os9 I$WritLn puls a,x,y,pc L017d bsr L0185 bsr L0181 L0181 lda #$3a bsr L014e L0185 ldb ,x+ lda #$2f L0189 inca subb #$64 bcc L0189 cmpa #$30 beq L0194 bsr L014e L0194 lda #$3a L0196 deca addb #$0a bcc L0196 bsr L014e tfr b,a adda #$30 bra L014e emod L01a6 equ * end ===== RTS ===== Return to [[:OS-9:]] or [[:Top:]]