1145
|
1 * F$DATLog entry point
|
|
2 FDATLog ldb R$B,u Get logical Block #
|
|
3 ldx R$X,u Get offset into block
|
|
4 bsr CmpLBlk Go modify X to be Logical address
|
|
5 stx R$X,u Save in callers X register
|
|
6 clrb No error & return
|
|
7 rts
|
|
8
|
|
9 * Compute logical address given B=Logical Block # & X=offset into block
|
|
10 * Exits with B being logical block & X=logical address
|
|
11 CmpLBlk pshs b Preserve logical block #
|
|
12 tfr b,a Move log. block # to A
|
|
13 lsla Multiply logical block by 32
|
|
14 lsla
|
|
15 lsla
|
|
16 lsla
|
|
17 lsla
|
|
18 clrb D=8k offset value
|
|
19 IFNE H6309
|
|
20 addr d,x X=logical address in 64k workspace
|
|
21 ELSE
|
|
22 leax d,x
|
|
23 ENDC
|
|
24 puls b,pc Restore A, block # & return
|