阅读下面的程序,说明程序的功能。
DSEG SEGMENT
FNAME DB 'B: / ASM/ PRNSTR.ASM'.0
BUFF DB 4000H DUP(0)
ERR DB ‘PRINTER ERROR!$‘
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG.DS:DSEG
START: MOV AX. DSEG
MOV DS,AX
MOV DX,OFFSET FNAMT.
MOV AX,3D00H
INT 21H
MOV BX.AX
MOV CX,SIZE BUFF
LEA DX,BUFF
MOV AH,3EH
INT 21H
MOV CX,AX
MOV AH,3EH
JNT 21H
LEA S1, BUFF
CLD
GETC: LODSH
MOV DL. AL
MOV AH,02
INT 21H
MOV AL ,DL
XOR DX.DX
XOR. AH AH
INT 17H
TEST AH 09H
JNZ DSPERR
LOOP GETC
RETDOS: MOV AX,4C00H
INT 21H
DSFERR: LEA DX,ERR
MOV AIL 9
INT 21H
JMP RETDOS
CSEG ENDS
END START