汇编语言实验11将以0结尾的字符串中的小写字母转变成大写字

名称:letterc
功能:将以0结尾的字符串中的小写字母转变成大写字母
参数:dsai指向字符串首地址

assume cs:code, ds:data

data segment
	crlf db 0ah, 0dh, '$'
	target db "Beginner's All-purpose Symbolic Instruction Code.$", 0
data ends

code segment
	start:
		mov ax, data
		mov ds, ax
		lea si, target
		lea dx, target ;输出改变前的字符串
		call print
		call letterc
		lea dx, target ;输出改变后的字符串
		call print
		mov ax, 4c00h
		int 21h
	letterc:
		mov bx, 0
		mov cx, 0
		s:
			cmp byte ptr ds:[si+bx], 'a'
			jb nottocap ;低于则转移
			cmp byte ptr ds:[si+bx], 'z'
			ja nottocap ;高于则转移
			and byte ptr ds:[si+bx], 01011111b
			nottocap:
				inc bx
				mov cl, ds:[si+bx]
				jcxz s1 ;若为0则跳出
				jmp s
		s1:
			ret
	print:
		mov ah, 9h
		int 21h
		lea dx, crlf
		int 21h
		ret
code ends
end start

注意需要进行转化的是字符串中的小写字母a}z,而不是其他字符。


发布日期:

所属分类: 易语言 标签: