我有这段代码,根据我的说法,应该将每个字符切换为其大写形式,我已经检查了位掩码,这很好。但是,当我打印字符串时,它仍然是小写形式。
.MODEL SMALL
.STACK
.DATA
MEN DB 'abcd'
.CODE
ORG 100H
MAIN PROC FAR
LEA BX, MEN+1
MOV CX, 20
OTRO: MOV AH,[BX]
CMP AH, 61H
JB OTRO2
CMP AH, 7AH
JA OTRO2
AND AH, 11011111B
MOV [BX], AH
OTRO2: INC BX
LOOP OTRO
MOV AX, 4C00H
INT 21H
MAIN ENDP
END MAIN
最佳答案
您正在跳过第一个字符,
LEA BX, MEN+1
并循环超出字符串的长度,
MOV CX, 20
但除此之外,它似乎在这方面起作用。你如何打印字符串?它不在提供的代码中。
关于assembly - 如何在 MASM 32 中将小写更改为大写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13389901/