diff level1/cmds/pwd.asm @ 13:5a5574d54988

Touched up source comments, added mdir to Makefile
author boisy
date Fri, 05 Apr 2002 19:14:26 +0000
parents 6641a883d6b0
children 0912ac5dc2ff
line wrap: on
line diff
--- a/level1/cmds/pwd.asm	Fri Apr 05 16:59:01 2002 +0000
+++ b/level1/cmds/pwd.asm	Fri Apr 05 19:14:26 2002 +0000
@@ -10,7 +10,7 @@
          nam   pwd
          ttl   Print working directory
 
-* Disassembled 98/09/10 23:47:33 by Disasm v1.6 (C) 1988 by RML
+* Disassembled 98/09/10 23:50:10 by Disasm v1.6 (C) 1988 by RML
 
          ifp1
          use   defsfile
@@ -23,8 +23,8 @@
 
          mod   eom,name,tylg,atrv,start,size
 
-u0000    rmb   1
-u0001    rmb   2
+fildes   rmb   1
+bufptr   rmb   2
 u0003    rmb   2
 u0005    rmb   1
 u0006    rmb   2
@@ -34,42 +34,43 @@
 u000E    rmb   29
 u002B    rmb   2
 u002D    rmb   129
-u00AE    rmb   1
-u00AF    rmb   282
+buffer   rmb   1
+sttbuf   rmb   282
 size     equ   .
 
 name     fcs   /pwd/
          fcb   edition
-L0011    fcc   "pwd: bad name in path"
+
+badnam   fcc   "pwd: bad name in path"
          fcb   C$CR
-L0027    fcc   "."
-L0028    fcc   "."
-L0029    fcb   C$CR
-L002A    fcc   "read error"
-         fcb   C$CR 
+dotdot   fcc   "."
+dot      fcc   "."
+cr       fcb   C$CR
+rdmsg    fcc   "read error"
+         fcb   C$CR
 
-start    leax  >u00AE,u
-         lda   #$0D
+start    leax  >buffer,u
+         lda   #C$CR
          sta   ,x
-         stx   <u0001
-         leax  >L0028,pcr
-         bsr   L0096
-         sta   <u0000
-         lbsr  L00CD
+         stx   <bufptr
+         leax  >dot,pcr
+         bsr   open
+         sta   <fildes
+         lbsr  rdtwo
          ldd   <u0003
          std   <u0009
          lda   <u0005
          sta   <u000B
 L0052    bsr   L00C6
          beq   L0079
-         leax  >L0027,pcr
-         bsr   L0090
-         lda   <u0000
+         leax  >dotdot,pcr
+         bsr   chdir
+         lda   <fildes
          os9   I$Close  
          bcs   L008D
-         leax  >L0028,pcr
-         bsr   L0096
-         bsr   L00CD
+         leax  >dot,pcr
+         bsr   open
+         bsr   rdtwo
          bsr   L00A8
          bsr   L00E2
          ldd   <u0003
@@ -78,35 +79,35 @@
          sta   <u000B
          bra   L0052
 L0079    lbsr  L00FB
-         ldx   <u0001
+         ldx   <bufptr
          ldy   #$0081
          lda   #$01
          os9   I$WritLn 
-         lda   <u0000
+         lda   <fildes
          os9   I$Close  
          clrb  
 L008D    os9   F$Exit   
-L0090    lda   #$81
+chdir    lda   #DIR.+READ.
          os9   I$ChgDir 
          rts   
-L0096    lda   #$81
+open     lda   #DIR.+READ.
          os9   I$Open   
          rts   
-L009C    lda   <u0000
+read32   lda   <fildes
          leax  u000E,u
          ldy   #$0020
          os9   I$Read   
          rts   
-L00A8    lda   <u0000
-         bsr   L009C
+L00A8    lda   <fildes
+         bsr   read32
          bcs   L010F
          leax  u000E,u
          leax  <$1D,x
          leay  u0009,u
-         bsr   L00BA
+         bsr   attop
          bne   L00A8
          rts   
-L00BA    ldd   ,x++
+attop    ldd   ,x++
          cmpd  ,y++
          bne   L00C5
          lda   ,x
@@ -114,23 +115,23 @@
 L00C5    rts   
 L00C6    leax  u0003,u
          leay  u0006,u
-         bsr   L00BA
+         bsr   attop   * check if we're at the top
          rts   
-L00CD    bsr   L009C
+rdtwo    bsr   read32  * read "." from directory
          ldd   <u002B
          std   <u0006
          lda   <u002D
          sta   <u0008
-         bsr   L009C
+         bsr   read32  * read ".." from directory
          ldd   <u002B
          std   <u0003
          lda   <u002D
          sta   <u0005
          rts   
 L00E2    leax  u000E,u
-L00E4    os9   F$PrsNam 
+prsnam   os9   F$PrsNam 
          bcs   L0109
-         ldx   <u0001
+         ldx   <bufptr
 L00EB    lda   ,-y
          anda  #$7F
          sta   ,-x
@@ -138,25 +139,25 @@
          bne   L00EB
          lda   #$2F
          sta   ,-x
-         stx   <u0001
+         stx   <bufptr
          rts   
-L00FB    lda   <u0000
-         ldb   #$0E
-         leax  >u00AF,u
+L00FB    lda   <fildes
+         ldb   #SS.DevNm
+         leax  >sttbuf,u
          os9   I$GetStt 
-         bsr   L00E4
+         bsr   prsnam
          rts   
-L0109    leax  >L0011,pcr
-         bra   L0123
-L010F    leax  >L002A,pcr
-         bra   L0123
+L0109    leax  >badnam,pcr
+         bra   wrerr
+L010F    leax  >rdmsg,pcr
+         bra   wrerr
 L0115    lda   #$02
          os9   I$Write  
          bcs   L0128
          rts   
          bsr   L0115
-         leax  >L0029,pcr
-L0123    lda   #$02
+         leax  >cr,pcr
+wrerr    lda   #$02
          os9   I$WritLn 
 L0128    ldb   #$00
          os9   F$Exit   
@@ -164,3 +165,4 @@
          emod
 eom      equ   *
          end
+