不判断大小写将字母全变为小写(汇编语言)
转化为大写:
assume cs:code,ds:data
data segment
db 'BaSic'
data ends
code segment
start:
mov ax, data
mov ds, ax
mov bx, 0
mov cx, 5
s:
mov al,[bx]
and al,11011111b
mov [bx],al
inc bx
loop s
mov ax, 4c00h
int 21h
code ends
end start
转化为小写:
assume cs:code,ds:data
data segment
db 'BasIC'
data ends
code segment
start:
mov ax, data
mov ds, ax
mov bx, 0
mov cx, 5
s:
mov al, [bx]
or al, 00100000b
mov [bx], al
inc bx
loop s
mov ax, 4c00h
int 21h
code ends
end start
原理:


如你所见,A和a的ASCII码仅差32,十六进制是20H,二进制是00100000。
849

被折叠的 条评论
为什么被折叠?



