Write an ALP to simulate TYPE command using PSP.
Write an ALP to simulate TYPE command using PSP.
DISP MACRO MSG
LEA DX,MSG
MOV AH,09H
INT 21H
ENDM
.MODEL SMALL
.STACK 100
.DATA
MSG1 DB 10,13,"FILE OPENED SUCCESSFULLY $"
MSG2 DB 10,13,"FILE OPENING ERROR $"
MSG3 DB 10,13,"RADED N CONTENTS ARE : $"
MSG4 DB 10,13,"UNABLE TO READ FILE $"
ARR1 DB 20 DUP(0)
ARR2 DB 50 DUP(0)
HANDLE DW ?
CNT DW ?
.CODE
MOV AX,@DATA
MOV DS,AX
MOV AH,62H ;DOS FUN FOR GETTING ST ADD OF PSP
INT 21H
MOV ES,BX
MOV DI,0082H ;STARTINF OFFSET OF PSP WHERE FILE NAME STORES
LEA SI,ARR1
L1: MOV AH,ES:[DI]
CMP AH,0DH
JE L2
MOV [SI],AH
INC SI
INC DI
JMP L1
;******OPEN FILE**********
L2: MOV AH,3DH
MOV AL,02H
LEA DX,ARR1
INT 21H
MOV HANDLE,AX
JC L3
DISP MSG1
JMP L4
L3: DISP MSG2
JMP EXIT
;**********SET FILE POINTER AT END OF FILE FOR CALC SIZE OF FILE********
L4: MOV AH,42H
MOV AL,02H
MOV BX,HANDLE
MOV CX,0000H
MOV DX,0000H
INT 21H
MOV CNT,AX
;**********SET FILE POINTER AT START OF FILE FOR READ FILE********
MOV AH,42H
MOV AL,00H
MOV BX,HANDLE
MOV CX,0000H
MOV DX,0000H
INT 21H
;******READING FILE**********
MOV AH,3FH
MOV BX,HANDLE
MOV CX,CNT
LEA DX,ARR2
INT 21H
JNC L5
DISP MSG4
JMP EXIT
L5: DISP MSG3
LEA SI,ARR2
;********DISPLAY CONTENTS*********
UP: MOV DX,[SI]
MOV AH,02H
INT 21H
INC SI
DEC CX
JNZ UP
EXIT: MOV AH,4CH
INT 21H
END
OUTPUT
C:\TASM>TASM P1
Turbo Assembler Version 2.0 Copyright (c) 1988, 1990 Borland International
Assembling file: P1.ASM
Error messages: None
Warning messages: None
Passes: 1
Remaining memory: 474k
C:\TASM>TLINK P1
Turbo Link Version 3.0 Copyright (c) 1987, 1990 Borland International
C:\TASM>P1 B.TXT
FILE OPENED SUCCESSFULLY
RADED N CONTENTS ARE : ||JAY SAI RAM|| ||JAY SAI RAM||
C:\TASM>
C:\TASM>P1
FILE OPENING ERROR
0 comments:
Post a Comment