Assembly 如何在MASM 32中从小写改为大写?
我有这个代码,根据我的说法,应该把每个字符都转换成它的大写形式,我已经检查了位掩码,它很好。但是,当我打印字符串时,它仍然是小写形式Assembly 如何在MASM 32中从小写改为大写?,assembly,masm,Assembly,Masm,我有这个代码,根据我的说法,应该把每个字符都转换成它的大写形式,我已经检查了位掩码,它很好。但是,当我打印字符串时,它仍然是小写形式 .MODEL SMALL .STACK .DATA MEN DB 'abcd' .CODE ORG 100H MAIN PROC FAR LEA
.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
但除此之外,它似乎在这方面起了作用。你是怎么打印字符串的?它不在提供的代码中。哦,我该死的,加上一个是为了调试,我用int 21打印它。你的段是如何设置的?我想你可能是把数据段编错了。我不知道你在说什么:(如果你不知道数据段是什么,把你的字符串放在里面。代码放在代码后面。这可能会使它工作。