Added RDCPM and EDLIN, style fixes
Added the reconstructed source code of RDCPM.COM and EDLIN.COM, and changed the style of the other source files to match Tim Paterson's coding style.
This commit is contained in:
+46
-60
@@ -19,6 +19,7 @@ PRINTBUF EQU 9
|
||||
OUTCH EQU 2
|
||||
INBUF EQU 10
|
||||
RR EQU 33
|
||||
SYSTEM EQU 5
|
||||
|
||||
ORG 100H
|
||||
|
||||
@@ -27,7 +28,7 @@ RR EQU 33
|
||||
MOV DL,0 ;Start with A:
|
||||
SETDRV:
|
||||
MOV CL,SELDRV
|
||||
CALL 5
|
||||
CALL SYSTEM
|
||||
COMMAND:
|
||||
MOV SP,STACK
|
||||
CLD
|
||||
@@ -43,7 +44,7 @@ COMMAND:
|
||||
MOV [NUMREC],CX ;Number of records each time
|
||||
MOV DX,CRLF
|
||||
MOV CL,PRINTBUF
|
||||
CALL 5
|
||||
CALL SYSTEM
|
||||
MOV DX,COMMAND
|
||||
MOV AX,2522H ;Set vector 34 (terminate)
|
||||
INT 33
|
||||
@@ -51,27 +52,27 @@ COMMAND:
|
||||
INT 33
|
||||
GETCOM:
|
||||
MOV CL,GETDRV
|
||||
CALL 5
|
||||
CALL SYSTEM
|
||||
ADD AL,"A"
|
||||
MOV CL,OUTCH
|
||||
MOV DL,AL
|
||||
CALL 5 ;Print drive letter
|
||||
CALL SYSTEM ;Print drive letter
|
||||
MOV DL,":"
|
||||
MOV CL,OUTCH
|
||||
CALL 5 ;Print :
|
||||
MOV DX,LINEBUF
|
||||
CALL SYSTEM ;Print :
|
||||
MOV DX,LINBUF
|
||||
MOV CL,INBUF
|
||||
CALL 5
|
||||
CALL SYSTEM
|
||||
MOV DL,10
|
||||
MOV CL,OUTCH
|
||||
CALL 5 ;New line
|
||||
CALL SYSTEM ;New line
|
||||
MOV CH,0
|
||||
MOV SI,FILLINFO ;8 spaces
|
||||
MOV SI,FILIFO ;8 spaces
|
||||
MOV DI,ID
|
||||
CALL FILLBUF
|
||||
MOV DI,FCB
|
||||
CALL FILLBUF
|
||||
MOV SI,LINEBUF+2
|
||||
MOV SI,LINBUF+2
|
||||
MOV DI,ID
|
||||
CALL FILEDRV ;Get COM drive
|
||||
MOV [SPECDRV],AL
|
||||
@@ -138,7 +139,7 @@ EXTERNAL:
|
||||
INT 33
|
||||
MOV DX,100H
|
||||
MOV CL,SETDMA
|
||||
CALL 5
|
||||
CALL SYSTEM
|
||||
MOV BX,DS ;New segment into BX
|
||||
POP DS
|
||||
MOV DX,IDLEN
|
||||
@@ -161,12 +162,12 @@ EXTERNAL:
|
||||
PUSH AX
|
||||
MOV CL,SETDMA
|
||||
MOV DX,80H
|
||||
CALL 5
|
||||
CALL SYSTEM
|
||||
RET L
|
||||
BADCOM:
|
||||
MOV DX,BADNAM
|
||||
MOV CL,PRINTBUF
|
||||
CALL 5
|
||||
CALL SYSTEM
|
||||
JMP COMMAND
|
||||
|
||||
NEXTCHR:
|
||||
@@ -248,27 +249,27 @@ DIR:
|
||||
MOV DI,FCB+1
|
||||
CALL FILLBUF ;Fill 11 bytes with "?"
|
||||
HASNAME:
|
||||
MOV DX,LINEBUF+2+1
|
||||
MOV DX,LINBUF+2+1
|
||||
MOV CL,SETDMA
|
||||
CALL 5
|
||||
CALL SYSTEM
|
||||
MOV CL,SRCHFRST
|
||||
MOV DX,FCB
|
||||
EACHFILE:
|
||||
CALL 5
|
||||
CALL SYSTEM
|
||||
INC AL ;FF = file not found
|
||||
JZ RET
|
||||
MOV SI,LINEBUF+2+1
|
||||
MOV SI,LINBUF+2+1
|
||||
MOV CX,8
|
||||
CALL OUTCNT ;Print 8 chars (name)
|
||||
MOV CL,OUTCH
|
||||
MOV DL," "
|
||||
CALL 5 ;Print space
|
||||
MOV SI,LINEBUF+2+9
|
||||
CALL SYSTEM ;Print space
|
||||
MOV SI,LINBUF+2+9
|
||||
MOV CX,3
|
||||
CALL OUTCNT ;Print 3 chars (ext)
|
||||
MOV DX,CRLF
|
||||
MOV CL,PRINTBUF
|
||||
CALL 5 ;Print new line
|
||||
CALL SYSTEM ;Print new line
|
||||
MOV CL,SRCHNXT
|
||||
JP EACHFILE
|
||||
OUTCNT:
|
||||
@@ -277,7 +278,7 @@ OUTCNT:
|
||||
PUSH SI
|
||||
MOV DL,AL
|
||||
MOV CL,OUTCH
|
||||
CALL 5
|
||||
CALL SYSTEM
|
||||
POP SI
|
||||
POP CX
|
||||
LOOP OUTCNT
|
||||
@@ -301,7 +302,7 @@ CREATE:
|
||||
TYPE:
|
||||
MOV DX,TPA
|
||||
MOV CL,SETDMA
|
||||
CALL 5
|
||||
CALL SYSTEM
|
||||
MOV DX,FCB
|
||||
MOV AH,OPEN
|
||||
INT 33
|
||||
@@ -318,16 +319,16 @@ OUTLP:
|
||||
JZ RET
|
||||
MOV CL,OUTCH
|
||||
MOV DL,AL
|
||||
CALL 5
|
||||
CALL SYSTEM
|
||||
JP OUTLP
|
||||
RET
|
||||
|
||||
CLEAR:
|
||||
MOV DX,ERAMES
|
||||
MOV CL,PRINTBUF
|
||||
CALL 5 ;Confirm erase
|
||||
CALL SYSTEM ;Confirm erase
|
||||
MOV CL,INCHAR
|
||||
CALL 5
|
||||
CALL SYSTEM
|
||||
CMP AL,"Y"
|
||||
JZ DOCLEAR
|
||||
CMP AL,"y"
|
||||
@@ -339,10 +340,10 @@ DOCLEAR:
|
||||
JZ CLRDSK
|
||||
DEC DL
|
||||
MOV CL,SELDRV
|
||||
CALL 5
|
||||
CALL SYSTEM
|
||||
CLRDSK:
|
||||
MOV CL,GETFAT
|
||||
CALL 5
|
||||
CALL SYSTEM
|
||||
MOV CX,DX
|
||||
INC DX
|
||||
SHR DX
|
||||
@@ -368,7 +369,7 @@ DOFILL:
|
||||
CALL FILLBUF
|
||||
MOV DX,FCB
|
||||
MOV CL,DELETE
|
||||
CALL 5 ;Delete all files
|
||||
CALL SYSTEM ;Delete all files
|
||||
MOV CL,DSKRESET
|
||||
JMP 5
|
||||
|
||||
@@ -410,7 +411,7 @@ CPYBLK:
|
||||
INT 33
|
||||
OR AL,AL
|
||||
JZ CPYBLK
|
||||
MOV DX,NOSPACE
|
||||
MOV DX,NOSPCE
|
||||
MOV AH,PRINTBUF
|
||||
INT 33
|
||||
CPYDONE:
|
||||
@@ -427,48 +428,33 @@ NOSRC:
|
||||
DS 40
|
||||
STACK:
|
||||
|
||||
BADNAM:
|
||||
DB "Bad command or file name"
|
||||
CRLF:
|
||||
DB 13,10,"$"
|
||||
ERAMES:
|
||||
DB "Erase all files (Y/N)? $"
|
||||
NOTFND:
|
||||
DB "Source file not found$"
|
||||
NOSPACE:
|
||||
DB "Insufficient disk space$"
|
||||
BADNAM: DB "Bad command or file name"
|
||||
CRLF: DB 13,10,"$"
|
||||
ERAMES: DB "Erase all files (Y/N)? $"
|
||||
NOTFND: DB "Source file not found$"
|
||||
NOSPCE: DB "Insufficient disk space$"
|
||||
|
||||
FCBFIL:
|
||||
DB 11,"?"
|
||||
FCBFIL: DB 11,"?"
|
||||
DB 0
|
||||
|
||||
SPECDRV:
|
||||
DS 1
|
||||
NUMREC:
|
||||
DS 2
|
||||
SPECDRV: DS 1
|
||||
NUMREC: DS 2
|
||||
|
||||
IDLEN:
|
||||
DS 1
|
||||
ID:
|
||||
DS 8
|
||||
COM:
|
||||
DB "COM"
|
||||
DSTFCB:
|
||||
DS 36
|
||||
IDLEN: DS 1
|
||||
ID: DS 8
|
||||
COM: DB "COM"
|
||||
DSTFCB: DS 36
|
||||
|
||||
LINEBUF:
|
||||
DB 80H,1,13
|
||||
LINBUF: DB 80H,1,13
|
||||
DS 80H
|
||||
|
||||
FILLINFO:
|
||||
DB 8," "
|
||||
FILIFO: DB 8," "
|
||||
DB 0
|
||||
DB 12," ",4,0
|
||||
DB 12," ",8,0
|
||||
DB 0
|
||||
|
||||
COMTAB:
|
||||
DB 4,"DIR"
|
||||
COMTAB: DB 4,"DIR"
|
||||
DW DIR
|
||||
DB 7,"RENAME"
|
||||
DW RENAME
|
||||
@@ -485,4 +471,4 @@ COMTAB:
|
||||
DB 0
|
||||
|
||||
TPA:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user