📄 letter.asm
字号:
STACKSG SEGMENT STACK 'STACK'
DW 32 DUP(?)
STACKSG ENDS
DATASG SEGMENT
INFORM DB '******************************************',0DH,0AH
DB '* 1 Capital letter to small letter! *',0DH,0AH
DB '* 2 SMALL LETTER TO CAPITAL LETTER! *',0DH,0AH
DB '* 3 Quit *',0DH,0AH
DB '******************************************',0DH,0AH
DB ' MADE BY CHEN YI HUI 2004/12/03/ ',0DH,0AH
DB 'Please input 1 or 2 or 3 $',0DH,0AH
MSG DB ' Please enter the Capital letter! $'
MSG2 DB ' Please enter the Small letter! $'
MSG3 DB ' Error! Please input 1-3','$'
STR1 DB 16,?,16 DUP(?)
CR EQU 13
LF EQU 10
CRLF DB CR,LF,'$'
RES DB ' The result is:$'
DATASG ENDS
CODESG SEGMENT
ASSUME SS:STACKSG,DS:DATASG,CS:CODESG
MAIN PROC FAR
START: MOV AX,DATASG
MOV DS,AX
LEA DX,INFORM
MOV AH,09H
INT 21H
AGAIN: MOV AH,01H
INT 21H
CMP AL,'1'
JNE NEXT1
CALL SUB1
NEXT1: CMP AL,'2'
JNE NEXT2
CALL SUB2
NEXT2: CMP AL,'3'
JNE ERROR
CALL EXIT
RET
ERROR: LEA DX,MSG3
MOV AH,09H
INT 21H
LEA DX,CRLF
MOV AH,9
INT 21H
LEA DX,CRLF
MOV AH,9
INT 21H
JMP AGAIN
MAIN ENDP
SUB1 PROC NEAR
LEA DX,MSG
MOV AH,09H
INT 21H
LEA DX,CRLF
MOV AH,9
INT 21H
LEA DX,STR1
MOV AH,10
INT 21H
LEA DX,CRLF
MOV AH,9
INT 21H
LEA SI, STR1+1
MOV BX,OFFSET STR1+2
MOV CX,0
MOV CL,[SI]
LETTER:
MOV AL,[BX]
CMP AL,20H
JZ BBB
ADD AL,20H
MOV [BX],AL
BBB: INC BL
;DEC CL
LOOP LETTER
LEA DX,RES
MOV AH,9
INT 21H
XOR BH,BH
MOV BL,STR1+1
MOV STR1[BX+2],'$'
LEA DX,STR1+2
MOV AH,9
INT 21H
LEA DX,CRLF
MOV AH,9
INT 21H
LEA DX,CRLF
MOV AH,9
INT 21H
CALL MAIN
CALL EXIT
SUB1 ENDP
SUB2 PROC NEAR
LEA DX,MSG2
MOV AH,09H
INT 21H
LEA DX,CRLF
MOV AH,9
INT 21H
LEA DX,STR1
MOV AH,10
INT 21H
LEA DX,CRLF
MOV AH,9
INT 21H
LEA SI, STR1+1
MOV BX,OFFSET STR1+2
MOV CX,0
MOV CL,[SI]
LETTER1:
MOV AL,[BX]
SUB AL,20H
MOV [BX],AL
INC BL
;DEC CX
LOOP LETTER1
LEA DX,RES
MOV AH,9
INT 21H
XOR BH,BH
MOV BL,STR1+1
MOV STR1[BX+2],'$'
LEA DX,STR1+2
MOV AH,9
INT 21H
LEA DX,CRLF
MOV AH,9
INT 21H
LEA DX,CRLF
MOV AH,9
INT 21H
CALL MAIN
CALL EXIT
SUB2 ENDP
EXIT PROC NEAR
MOV AH,4CH
INT 21H
EXIT ENDP
CODESG ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -