![](https://i-blog.csdnimg.cn/blog_migrate/0c15c88e582b43e81cb495f73817ac8c.png)
assume cs:code,ds:data
data segment
db "Beginner's All-purpose Symbolic Intruction Code.",0
data ends
code segment
start:mov ax,data
mov ds,ax
mov si,0
call letterc
s0:mov ax,4c00h
int 21h
letterc:mov al,[si]
mov ah,[si]
and al,11011111b
mov [si],al
inc si
cmp ah,0
jne letterc
ret
code ends
end start
在实验中,我用al和ah保存每次访问字符串的值,al用来改大小写
ah用来判断该字符是否为0
为什么要多用一个ah来保存呢,因为空格' 'ascii是00100000b,和11011111b与的时候,正好是00000000b,会产生错误判断。所以我多使用了ah。