view CoCoOS9/level2v3/CMDS/mdir.asm @ 31:bd2b07db8917 cocoos9lv2v3

CoCoOS9 version
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 14 Jul 2018 15:16:13 +0900
parents
children
line wrap: on
line source

********************************************************************
* MDir - Show module information
*
* $Id: mdir.asm,v 1.1.1.1 2001/02/21 23:30:54 boisy Exp $
*
* Ed.    Comments                                       Who YY/MM/DD
* ------------------------------------------------------------------
* 7      Original Tandy/Microware version

         nam   MDir
         ttl   Show module information

* Disassembled 98/09/11 11:57:27 by Disasm v1.6 (C) 1988 by RML

         ifp1
         use   defsfile
         endc

tylg     set   Prgrm+Objct   
atrv     set   ReEnt+rev
rev      set   $01
edition  set   7

         mod   eom,name,tylg,atrv,start,size

u0000    rmb   2
u0002    rmb   1
u0003    rmb   1
u0004    rmb   1
u0005    rmb   3
u0008    rmb   3
u000B    rmb   1
u000C    rmb   1
u000D    rmb   1
u000E    rmb   80
u005E    rmb   2
u0060    rmb   2
u0062    rmb   4096
u1062    rmb   64
u10A2    rmb   269
size     equ   .

name     fcs   /MDir/
         fcb   edition

L0012    fcc   "   Module Directory at"
         fcb   $A0 
L0029    fcs   "Block Offset Size Typ Rev Attr  Use Module Name"
L0058    fcs   "----- ------ ---- --- --- ---- ---- ------------"
L0088    fcs   "Blk Ofst Size Ty Rv At Uc  Name"
L00A7    fcs   "___ ____ ____ __ __ __ __ ______"
L00C7    fcc   "Lock"
         fcb   $A0
L00CC    fcs   "Lk"

start    pshs  u
         leau  >u1062,u
L00D4    clr   ,-u
         cmpu  ,s
         bhi   L00D4
         puls  u
         clr   <u000B
         lda   #$0C
         ldb   #$30
         std   <u000C
         stx   <u0000
         leax  u000E,u
         stx   <u0003
         lbsr  L02A3
         lda   #$01
         ldb   #$26
         os9   I$GetStt 
         bcc   L00FF
         cmpb  #$D0
         lbne  L0241
         bra   L010C
L00FF    cmpx  #$0032
         bge   L010C
         inc   <u000B
         lda   #$0A
         ldb   #$15
         std   <u000C
L010C    leay  >L0012,pcr
         lbsr  L0298
         leax  u0005,u
         os9   F$Time   
         leax  u0008,u
         lbsr  L02B8
         lbsr  L02A3
         leax  <u0062,u
         pshs  u
         os9   F$GModDr 
         sty   <u005E
         stu   <u0060
         puls  u
         leax  -$08,x
         ldy   <u0000
         lda   ,y+
         eora  #$45
         anda  #$DF
         bne   L018E
         lbsr  L02A3
         tst   <u000B
         beq   L0149
         leay  >L0088,pcr
         bra   L014D
L0149    leay  >L0029,pcr
L014D    lbsr  L0298
         lbsr  L02A3
         tst   <u000B
         beq   L015D
         leay  >L00A7,pcr
         bra   L0161
L015D    leay  >L0058,pcr
L0161    lbsr  L0298
         lbsr  L02A3
         leax  <u0062,u
         lbra  L023A
L016D    lbsr  L0308
         beq   L018E
         lbsr  L02DE
         lbsr  L0298
L0178    lbsr  L0285
         ldb   <u0004
         subb  #$0E
         cmpb  <u000D
         bhi   L018B
L0183    subb  <u000C
         bhi   L0183
         bne   L0178
         bra   L018E
L018B    lbsr  L02A3
L018E    leax  $08,x
         cmpx  <u005E
         bcs   L016D
         lbsr  L02A3
         lbra  L0240
L019A    lbsr  L0308
         lbeq  L0238
         tfr   d,y
         ldd   ,y
         tst   <u000B
         beq   L01B1
         lbsr  L0285
         lbsr  L024C
         bra   L01B4
L01B1    lbsr  L0244
L01B4    tst   <u000B
         bne   L01BE
         lbsr  L0285
         lbsr  L0285
L01BE    ldd   $04,x
         lbsr  L0244
         tst   <u000B
         bne   L01CA
         lbsr  L0285
L01CA    lbsr  L02DE
         leay  >u10A2,u
         ldd   $02,y
         bsr   L0244
         tst   <u000B
         bne   L01DC
         lbsr  L0285
L01DC    lda   $06,y
         bsr   L0252
         tst   <u000B
         bne   L01E7
         lbsr  L0285
L01E7    lda   $07,y
         anda  #$0F
         bsr   L0252
         ldb   $07,y
         lda   #$72
         lbsr  L0291
         tst   <u000B
         bne   L0207
         lda   #$3F
         lbsr  L0291
         lda   #$3F
         lbsr  L0291
         lda   #$3F
         lbsr  L0291
L0207    bsr   L0285
         ldd   $06,x
         cmpd  #$FFFF
         bne   L0223
         tst   <u000B
         beq   L021B
         leay  >L00CC,pcr
         bra   L021F
L021B    leay  >L00C7,pcr
L021F    bsr   L0298
         bra   L0230
L0223    tst   <u000B
         beq   L022E
         lbsr  L0285
         bsr   L024C
         bra   L0230
L022E    bsr   L0244
L0230    leay  >u1062,u
         bsr   L0298
         bsr   L02A3
L0238    leax  $08,x
L023A    cmpx  <u005E
         lbcs  L019A
L0240    clrb  
L0241    os9   F$Exit   
L0244    bsr   L0256
         tst   <u0002
         bne   L024C
         dec   <u0002
L024C    tfr   b,a
         bsr   L0258
         bra   L0285
L0252    bsr   L0256
         bra   L0285
L0256    clr   <u0002
L0258    pshs  a
         lsra  
         lsra  
         lsra  
         lsra  
         bsr   L026C
         tst   <u0002
         bpl   L0268
         lda   #$01
         sta   <u0002
L0268    lda   ,s+
         anda  #$0F
L026C    tsta  
         beq   L0271
         sta   <u0002
L0271    tst   <u0002
         bmi   L0277
         bne   L027B
L0277    lda   #$20
         bra   L0287
L027B    adda  #$30
         cmpa  #$39
         bls   L0287
         adda  #$07
         bra   L0287
L0285    lda   #$20
L0287    pshs  x
         ldx   <u0003
         sta   ,x+
         stx   <u0003
         puls  pc,x
L0291    rolb  
         bcs   L0287
         lda   #$2E
         bra   L0287
L0298    lda   ,y
         anda  #$7F
         bsr   L0287
         lda   ,y+
         bpl   L0298
         rts   
L02A3    pshs  y,x,a
         lda   #$0D
         bsr   L0287
         leax  u000E,u
         stx   <u0003
         ldy   #$0050
         lda   #$01
         os9   I$WritLn 
         puls  pc,y,x,a
L02B8    bsr   L02C0
         bsr   L02BC
L02BC    lda   #$3A
         bsr   L0287
L02C0    ldb   ,x+
         lda   #$2F
L02C4    inca  
         subb  #$64
         bcc   L02C4
         cmpa  #$30
         beq   L02CF
         bsr   L0287
L02CF    lda   #$3A
L02D1    deca  
         addb  #$0A
         bcc   L02D1
         bsr   L0287
         tfr   b,a
         adda  #$30
         bra   L0287
L02DE    pshs  u,x
         bsr   L0308
         ldx   $04,x
         ldy   #$000D
         leau  >u10A2,u
         os9   F$CpyMem 
         pshs  b,a
         ldd   u0004,u
         leax  d,x
         puls  b,a
         ldu   $02,s
         leau  >u1062,u
         ldy   #$0040
         os9   F$CpyMem 
         tfr   u,y
         puls  pc,u,x
L0308    ldd   ,x
         beq   L0319
         pshs  y
         leay  <u0062,u
         pshs  y
         subd  <u0060
         addd  ,s++
         puls  y
L0319    rts   

         emod
eom      equ   *
         end