答案 0 :(得分:1)
您可以利用以下事实:在ASCII编码中,大写字母从0x41开始,而普通字母从0x61开始。也就是说,大写字母和相应的普通字母之间始终存在0x20的差异。
这是一个使用NASM语法的DOS简单示例:
[org 0x100]
mov dl,'A'
mov cx,26 ; the whole (english) alphabet
again:
mov ah,2
int 0x21
inc dl ; next letter
xor dl,0x20 ; switch from capitals->commons, or vice versa
loop again
mov ax,0x4c00
int 0x21
答案 1 :(得分:0)
这不特定于汇编,而是特定于ASCII代码。 小写字母的代码比相应大写字母的代码高32(十六进制)。您可以遍历ABC ...,然后在每个第二个字符中添加32。或者,您使用两个变量(或由于使用汇编而使用寄存器),一个以“ A”开头,另一个以“ b”开头,在这些变量之间进行切换,并始终将其递增2。