0
点赞
收藏
分享

微信扫一扫

汇编源码学习7-子程序设计-寄存器传递参数


;寄存器传递参数
;从键盘输入一组字符,直到输入“0”为止,编写子程序,完成如下功能:
;若输入的是小写字符,转换成大写,最后将字符串输出。
;主程序
data1	SEGMENT
		string	DB	100 DUP(?)
data1	ENDS
;
stack1	SEGMENT	STACK
		DB		256 DUP(?)
stack1	ENDS
;
code1	SEGMENT
		ASSUME	CS:code1,DS:data1,SS:stack1
start:	MOV		AX,data1
		MOV		DS,AX
		MOV		DI,OFFSET string
again:	MOV		AH,1
		INT		21H	;有回显地输入一个字符
		CMP		AL,'0'
		JE		over
		CALL	NEAR PTR l2upper
		MOV		[DI],AL
		INC		DI
		JMP		again
over:	MOV		DL,10	;换行符
		MOV		AH,2
		INT		21H
		MOV		DL,13	;回车符
		MOV		AH,2
		INT		21H
		MOV		[DI],'$(编译时去掉此处括号)'	;字符串结束符
		MOV		DX,OFFSET string
		MOV		AH,09H
		INT		21H
		MOV		AH,4CH
		INT 	21H
;子程序:同一个代码段
;子程序名:l2upper
;作用:判断一个字符是否为大写,若不为大写,则lower case to upper case
;入口参数:AL存放原字符
;出口参数:AL存放处理完的字符
l2upper	PROC	NEAR
		CMP		AL,'a'
		JB		next
		CMP		AL,'z'
		JA		next
		SUB		AL,20H	;转为大写字母
next:	RET	;退出子程序
l2upper	ENDP
code1	ENDS
		END start



举报

相关推荐

0 条评论