【发布时间】:2021-11-04 14:19:20
【问题描述】:
我想打印用户首先输入的内容。但是,它会在结果之前显示转换后的大写。
这是我的代码:
org 100h
BEGIN:
LEA DX, DASH1
MOV AH, 9
INT 21H
LEA DX,LOWERCASE
MOV AH,09H
INT 21H
LEA SI,STR1
MOV AH,01H
READ:
INT 21H
MOV BL,AL
CMP AL,0DH
JE DISPLAY
XOR AL,20H
MOV [SI],AL
INC SI
JMP READ
DISPLAY:
MOV AL,"$"
MOV [SI],AL
LEA DX,UPPERCASE
MOV AH,09H
INT 21H
LEA DX, STR1
MOV AH, 09H
INT 21H
MOV DL, BH ; space
MOV AH, 02H
INT 21H
LEA DX, UPPERCASE_
MOV AH, 9
INT 21H
LEA DX,STR1
MOV AH,09H
INT 21H
LEA DX, DASH2
MOV AH, 9
INT 21H
MOV AH,4CH
INT 21H
ret
LOWERCASE DB 0DH,0AH,0AH, " Input a 5-letter string: $"
UPPERCASE DB 0DH,0AH, " The uppercase equivalent of $"
UPPERCASE_ DB "is $"
DASH1 DB 0AH,0DH, " ================================================================= $"
DASH2 DB 0AH,0AH,0DH, " ================================================================= $"
STR1 DB 255 DUP(?)
输出:
Input a 5-letter string: asdfg
The uppercase equivalent of ASDFG is ASDFG
^ i want this part to print as `asdfg`
让它The uppercase equivalent of asdfg is ASDFG
附:另外,如何将字符串限制为 5?这是因为用户可以输入的字符串可以超过5个。有什么提示吗?
================================================ ================================
【问题讨论】:
-
在我回答了你的previous questions之后你问这个问题我觉得很担心。解决方案一直存在。您可以随时在答案下方留下评论以获得额外说明。真正糟糕的是,您显然可以“接受”这个微型答案,但不能接受我的答案。你知道,我赞成你的问题,其他人没有...
标签: string assembly x86-16 emu8086