汇编语言子函数——将字符串的小写字母转换为大写字母

这里利用汇编标志位,和cmp比较指令实现对大小写的转换

下面是一段代码,主要的功能就是写一个子函数,可以实现对字符串的小写字母转换为大写字母

如下:

assume cs:code, ds:data

data segment
	db "Welcome to masm!", 0
data ends

code segment

	start:								mov ax, data
										mov ds, ax
										
										call letterc                        ;调用子函数
										
										mov ax, 4C00H
										int 21H
										
					letterc:			push ax
										push bx
										push cx
										push si
										push di
										push bp
										push dx
										push ds
										
										mov si, 0
										
							s:			mov al, ds:[si]
										mov cl, ds:[si]
										mov ch, 0
										jcxz ed                             ;如果字符串检测到零时,结束循环,跳到ed处
										
										cmp al, 97                          ;如果<97   >122   那么就不转换
										jb ok
										cmp al, 122
										ja ok
										
										sub al, 32                          ;如果>97    <122    那么就转换为大写字母
										mov ds:[si], al
										mov ax, 0
										
							ok:			inc si
										jmp s
							
							ed:			pop ds
										pop dx
										pop bp
										pop di
										pop si
										pop cx
										pop bx
										pop ax
										ret
										
code ends
end start

运行结果如下:

汇编语言子函数——将字符串的小写字母转换为大写字母_第1张图片

你可能感兴趣的:(汇编语言学习笔记)