汇编源码学习13-子函数模块-输入双字节整数

原创 2011年12月21日 21:29:41
;子函数:输入双字节整数。值保存在主调函数传递过来的变量中,非数字字符都是结束符。
;入口参数:DS传递主调函数的段地址;DI传递双字节变量的地址
;用到的寄存器:ES,AX,DS,DI,SI,CX,BX,DX
;无符号双字节整型的范围0-65535
data2	SEGMENT
		temp	DB	32 DUP(0)
		addr1	DW	?
		temp2	DW	?
data2	ENDS
code2	SEGMENT
InINT	PROC	FAR	;input int
		ASSUME	CS:code2,DS:data2
		PUSH	AX
		PUSH	BX
		PUSH	CX
		PUSH	DX
		PUSH	DI
		PUSH	SI
		PUSH	DS
		PUSH	ES
		MOV		AX,data2
		MOV		DS,AX
		;
		MOV		[addr1],DI
		LEA		SI,temp
		MOV		CL,0	;记录整数的位数
		MOV		BL,1	;标示当前位是否位首位,目的是去掉前导0,若首位为0,则继续为首位。
again2_1:
		MOV		AH,01H
		INT		21H
		CMP		AL,'0'		;非数字字符均为结束符
		JB		over2_1
		CMP		AL,'9'
		JA		over2_1
		CMP		BL,1		;检测当前位是否位首位,否则继续检测是否位0
		JNE		notFirst
		CMP		AL,'0'
		JE		again2_1
notFirst:
		MOV		BL,0		;将标志更改为“不是首位”
		SUB		AL,30H
		MOV		[SI],AL
		INC		SI
		INC		CL
		JMP		again2_1
over2_1:
		CMP		AL,0DH		;如果是以Enter结束输入,则先输出一个换行符
		JNE		notCR
		MOV		DL,0AH
		MOV		AH,02H
		INT		21H
		;转换成双字节整型
notCR:	DEC		SI
		MOV		WORD PTR ES:[DI],0
		MOV		AX,1
		MOV		[temp2],AX
again2_2:
		MOV		BL,[SI]
		MOV		BH,0
		MUL		BX
		ADD		ES:[DI],AX
		MOV		AX,[temp2]
		MOV		BX,10
		MUL		BX
		MOV		[temp2],AX
		DEC		SI
		DEC		CL
		CMP		CL,0
		JNE		again2_2
		POP		ES
		POP		DS
		POP		SI
		POP		DI
		POP		DX
		POP		CX
		POP		BX
		POP		AX
		RET
InINT	ENDP
code2	ENDS

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/duyiwuer2009/article/details/7093611

机器学习之k近邻学习器和降维与度量学习

-
  • 1970年01月01日 08:00

数字信号处理答案(西安电子科技大学三版)

数字信号处理-第三版-<em>学习</em>指导-西安科大出版-高西全...所需: 3 积分/C币 下载个数: 62 开通VIP 立即...王<em>子涵</em>3933 关注 积分52 查看全部8个资源 VIP...
  • 2018年04月17日 00:00

msp430F149矩阵键盘和液晶的<em>子涵数</em> - 下载频道

msp430F149矩阵键盘和液晶的<em>子涵数</em> 2013-07-23上传大小:152KB 矩阵键盘 ...OMNET<em>学习</em>资料 创建者:u012503639 C/C++面试笔试汇总 创建者:fireblue1990 20...
  • 2017年06月18日 00:00

Deep Learning 经典文章与代码(matlab)

有深度<em>学习</em>中必读经典,以及相应的matlab代码。 此外,...所需: 5积分/C币 下载个数: 1378 开通VIP 立即...涵<em>子涵</em> 关注 积分420 查看全部4个资源 ...
  • 2018年04月16日 00:00

有深度<em>学习</em>中必读经典,以及相应的matlab代码

上传者: 涵<em>子涵</em> 时间: 2014-07-22 综合评分: 5 积分/C币:5 Asp.Net Programing...有深度<em>学习</em>中必读经典,以及相应的matlab代码 会员到期时间: 剩余下载个数...
  • 2018年04月15日 00:00

汇编源码学习14-子函数模块-输出双字节整数

;子函数:输出双字节整数 ;入口参数:AX传递要输出的双字节整数 ;用到的寄存器:AX,DS,BX,DX,DI,SI data3 SEGMENT str DB 32 DUP('$(编译时去除此处...
  • duyiwuer2009
  • duyiwuer2009
  • 2011-12-21 21:31:13
  • 850

汇编实现双字节相乘源码

  • 2010年05月29日 09:00
  • 694B
  • 下载

汇编写的双字节乘法子程序,可用作小数乘法

  • 2011年01月11日 19:17
  • 2KB
  • 下载

汇编双字节无符号数乘法

  • 2012年11月17日 22:18
  • 538B
  • 下载

双字节除以单字节 汇编程序

;==========================================有谁知道双字节除以单字节得单字节商的汇编程序,R1R0 / R2 = R3 悬赏分:5 - 解决时间:2009-8...
  • baidu_33836580
  • baidu_33836580
  • 2016-01-25 11:27:53
  • 879
收藏助手
不良信息举报
您举报文章:汇编源码学习13-子函数模块-输入双字节整数
举报原因:
原因补充:

(最多只允许输入30个字)