汇编语言 将datasg段中:第一个字符串“PyThoN”中的小写字母变成大写,第二个字符串“AnDroId”中的大写字母变成小写。
时间: 2024-04-22 18:23:11 浏览: 96
汇编语言实现小写字母转大写
5星 · 资源好评率100%
以下是将datasg段中第一个字符串“PyThoN”中的小写字母变成大写的汇编代码:
```
assume cs:codesg, ds:datasg
datasg segment
db 'PyThoN$'
datasg ends
codesg segment
start:
mov ax, datasg
mov ds, ax
mov si, 0
loop1:
mov al, [si]
cmp al, '$'
je end1
cmp al, 'a' ; 判断是否是小写字母
jb not_lower
cmp al, 'z'
ja not_lower
sub al, 32 ; 转换成大写字母
mov [si], al
not_lower:
inc si
jmp loop1
end1:
mov ah, 4ch
int 21h
codesg ends
```
以下是将datasg段中第二个字符串“AnDroId”中的大写字母变成小写的汇编代码:
```
assume cs:codesg, ds:datasg
datasg segment
db 'AnDroId$'
datasg ends
codesg segment
start:
mov ax, datasg
mov ds, ax
mov si, 0
loop1:
mov al, [si]
cmp al, '$'
je end1
cmp al, 'A' ; 判断是否是大写字母
jb not_upper
cmp al, 'Z'
ja not_upper
add al, 32 ; 转换成小写字母
mov [si], al
not_upper:
inc si
jmp loop1
end1:
mov ah, 4ch
int 21h
codesg ends
```
注意:这里使用了汇编中的ASCII码表,其中A~Z对应的ASCII码值为65~90,a~z对应的ASCII码值为97~122,大写字母和小写字母的ASCII码值相差32。
阅读全文