Table of Contents

MFREE

Header for : Mfree
Module size: $176  #374
Module CRC : $65997C (Good)
Hdr parity : $5F
Exec. off  : $006A  #106
Data size  : $021F  #543
Edition    : $05  #5
Ty/La At/Rv: $11 $81
Prog mod, 6809 Obj, re-ent, R/O

CODE

* Disassembly by Os9disasm of mfree

 mod L0176,L000d,$11,$81,L006a,D021f

* OS-9 system function equates

F$Exit equ $06
I$WritLn equ $8c
I$GetStt equ $8d

* class D external label equates

Dfff1 equ $fff1

* OS9 data area definitions

D0000 rmb 2
D0002 rmb 2
D0004 rmb 1
D0005 rmb 1
D0006 rmb 2
D0008 rmb 2
D000a rmb 1
D000b rmb 21
D0020 rmb 511
D021f equ .

L000d tsta  
 ror   -14,s
 fcb $65
 bitb  5,x
L0013 dec   D0020
 fcb $41
 lsr   4,s
 fcb $72
 fcb $65
 com   29472
 bra   L008f
 fcb $61
 asr   5,s
 com   $0a2d
 blt   L0054
 blt   L0056
 blt   L0058
 blt   L005a
 bra   L005c
 blt   L005e
 blt   L0060
 bsr   L003f
L0034 equ *-1
 lsrb  
 clr   -12,s
 fcb $61
 fcb $6c
 bra   L00ac
 fcb $61
 asr   5,s
L003f com   $2066
 fcb $72
 fcb $65
 fcb $65
 bra   L0084
 suba  7,u
L0048 equ *-1
 fcb $72
 fcb $61
 neg   $6869
 com   -13,s
 bra   L009f
 fcb $65
 tst   15,s
L0054 equ *-1
 fcb $72
L0056 rol   $a04e
L0058 equ *-1
 clr   -12,s
L005a equ *-1
 bra   L009e
L005c equ *-1
 inc   12,s
L005e equ *-1
 clr   3,s
L0060 equ *-1
 fcb $61
 lsr   $65e4
L0065 fcb $61
 lsr   14880
 anda  Dfff1,y
L006a equ *-1
 tsta  
 sty   D000b
 leay  <L0013,pcr
 bsr   L00e1
 bsr   L00ec
 ldx   >$0020
 stx   D0000
 ldx   >$0022
 stx   D0002
 clra  
 clrb  
 sta   D0005
L0084 std   D0006
 std   D0008
 stb   D000a
 ldx   D0000
L008c lda   ,x+
 bsr   L00a8
L008f equ *-1
 cmpx  D0002
 bcs   L008c
 bsr   L00b8
 leay  <L0034,pcr
 bsr   L00e1
 ldb   D0005
 bsr   L0101
L009e equ *-1
L009f bsr   L00ec
 lbsr  L014a
 clrb  
 os9 F$Exit
L00a8 bsr   L00aa
L00aa bsr   L00ac
L00ac bsr   L00ae
L00ae asla  
 bcs   L00b8
 inc   D0005
 inc   D000a
 inc   D0006
 rts   
L00b8 pshs  d
 ldb   D000a
 beq   L00d7
 ldd   D0008
 bsr   L0136
 lda   #$2d
 bsr   L012c
 ldd   D0006
 subd  #1
 bsr   L0136
 bsr   L0122
 bsr   L0122
 ldb   D000a
 bsr   L0101
 bsr   L00ec
L00d7 inc   D0006
 ldd   D0006
 std   D0008
 clr   D000a
 puls  d,pc
L00e1 lda   ,y
 anda  #$7f
 bsr   L012c
 lda   ,y+
 bpl   L00e1
 rts   
L00ec pshs  a,x,y
 lda   #$0d
 bsr   L012c
 leax  13,u
 stx   D000b
 ldy   #$0050
 lda   #1
 os9 I$WritLn
 puls  a,x,y,pc
L0101 lda   #255
 clr   D0004
L0105 inca  
 subb  #$64
 bcc   L0105
 bsr   L0119
 lda   #$0a
L010e deca  
 addb  #$0a
 bcc   L010e
 bsr   L0119
 tfr   b,a
 inc   D0004
L0119 tsta  
 beq   L011e
 sta   D0004
L011e tst   D0004
 bne   L0124
L0122 lda   #$f0
L0124 adda  #$30
 cmpa  #$3a
 bcs   L012c
 adda  #7
L012c pshs  x
 ldx   D000b
 sta   ,x+
 stx   D000b
 puls  x,pc
L0136 clr   D0004
 bsr   L013c
 tfr   b,a
L013c pshs  a
 lsra  
 lsra  
 lsra  
 lsra  
 bsr   L0146
 puls  a
L0146 anda  #$0f
 bra   L0119
L014a pshs  x,y
 leay  L0048,pcr
 bsr   L00e1
 lda   #1
 ldb   #$12
 os9 I$GetStt
 bcc   L0163
 leay  L0058,pcr
 bsr   L00e1
 bra   L016e
L0163 leay  L0065,pcr
 lbsr  L00e1
 tfr   x,d
 bsr   L0136
L016e puls  x,y
 lbra  L00ec

 emod 

L0176 equ *

 end

RTS

Return to OS-9 or Top