(汇编语言)实验11 编写子程序

版权声明:斌哥版权,如有雷同,纯属虚构 https://blog.csdn.net/iostream992/article/details/83782963

编写一个子程序,将包含任意字符,以0结尾的字符串中的小写转大写

首先先用不是子程序的方法来解决一下:

assume cs:code
 
data segment
	
	db "ZouZeBin is a handsome boy!!",0
	
	
data ends
 


code segment
start:	

mov ax,data
mov ds,ax
mov si,0
s:

mov al,[si]
cmp al,0
je ok

cmp al,'A'
jb next
cmp al,'z'
ja next

cmp al,'Z'
ja ltoh
or byte ptr [si],00100000b
jmp short next

ltoh:
and byte ptr [si],11011111b


next:

inc si	
jmp short s
ok:
mov ax,4c00h	
int 21h
		
		
		
	
code ends
end start



截图:



接下来实现一种用子程序来解决的方法:

assume cs:code
 
data segment
	
	db "ZouZeBin is a handsome boy!!",0
	
	
data ends
 


code segment
start:	

mov ax,data
mov ds,ax
mov si,0
call letterc
mov ax,4c00h	
int 21h


letterc:

push ax
push ds
push si

s:

mov al,[si]
cmp al,0
je ok

cmp al,'A'
jb next
cmp al,'z'
ja next

cmp al,'Z'
ja ltoh
or byte ptr [si],00100000b
jmp short next

ltoh:
and byte ptr [si],11011111b


next:

inc si	
jmp short s
ok:

pop si
pop ds
pop ax
ret

code ends
end start



截图:

猜你喜欢

转载自blog.csdn.net/iostream992/article/details/83782963