DATA SEGMENT
FILENAME DB 'A\TEST.TXT',0
FH DW ?
BUF DB 1024 DUP (?)
MSG DB 0DH,0AH,'ERROR!','$'
DATA ENDS
STACKS SEGMENT STACK
DW 60H DUP(?)
TOP LABEL WORD
STACKS ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE,SS:STACKS
MAIN PROC FAR
MOV AX,DATA
MOV DS,AX
MOV AX,STACKS
MOV SS,AX
LEA SP,TOP
LEA DX,FILENAME
MOV AL,2
MOV AH,3DH
INT 21H
JC ERROR
MOV FH,AX
LEA DX,BUF
MOV BX,FH
MOV CX,1024
MOV AH,3FH
INT 21H
JC ERROR
MOV CX,AX
MOV DI,AX
LEA SI,BUF
L2: MOV DL,[SI]
CMP DL,'A'
JB L1
CMP DL,'Z'
JA L1
ADD DL,20H
MOV [SI],DL
L1:
INC SI
LOOP L2
XOR DX,DX
MOV CX,0
MOV AL,0
MOV BX,FH
MOV AH,42H
INT 21H
LEA DX,BUF
MOV BX,FH
MOV CX,DI ;LENGTH
MOV AH,40H
INT 21H
JC ERROR
MOV BX,FH
MOV AH,3EH
INT 21H
EXIT:
MOV AH,4CH
INT 21H
ERROR:
MOV BX,AX
MOV CX,16
L5: ROL BX,1
MOV DL,BL
AND DL,1
ADD DL,30H
MOV AH,02H
INT 21H
LOOP L5
LEA DX,MSG
MOV AH,09H
INT 21H
JMP EXIT
MAIN ENDP
CODE ENDS
END MAIN
文件中的大写转小写.TXT
最新推荐文章于 2022-01-22 22:07:22 发布