Write an ALP to simulate TYPE command using PSP.

, by Prashant Gunjal

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: