汇编基础练习题5:输入字符‘1’、‘2’、‘3’,得到数值123,在利用2中的输出子程序,将得到的数值123输出。

汇编基础练习题5:

输入字符‘1’、‘2’、‘3’,得到数值123,在利用2中的输出子程序,将得到的数值123输出。

编译工具:Masm for Windows 集成实验环境2012.5
(附带一个工具下载地址https://download.csdn.net/download/qq_36931762/10825773
有需要可以去下载)
代码思路:
三次输入数字,利用BH来暂存上一结果,然后在赋值给AL,这时BH没用,将BH赋值为10,然后乘BH,结果存在AX中。来回折腾= =,很久之前写的了,现在懒得仔细再看了,有点乱。如果想学习,那就辛苦你自己好好看代码吧。

   ---------------------------------------可爱的代码区别线----------------------------------
DATAS SEGMENT
    ;此处输入数据段代码  
DATAS ENDS

STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    
    MOV AH,1
    INT 21H
    SUB AL,48
    MOV BH,AL
    
    MOV AH,1
    INT 21H
    SUB AL,48
    MOV BL,AL
    
    MOV AL,BH
    MOV AH,0
    MOV BH,10
    MUL BH
    ADD AL,BL
    MOV BH,AL
    
    MOV AH,1
    INT 21H
    SUB AL,48
    MOV BL,AL
    
    MOV AL,BH
    MOV AH,0
    MOV BH,10
    MUL BH
    ADD AL,BL 
    
    CALL PRINTAX
    
    MOV AH,4CH
    INT 21H
    
PRINTAX PROC
	
	PUSH BX
	PUSH CX
	PUSH DX
	
    MOV BL,10
    MOV CL,0
    CMP AX,10
    JB PRINTF
W:    
    DIV BL
    PUSH AX
    INC CL
    MOV AH,0
    CMP AX,0
    JA W 
p:
	POP DX
	DEC CL
	MOV DL,DH
	ADD DL,48
	MOV AH,2
	INT 21H
	CMP CL,0
	JNE P
	
	POP DX
	POP CX
	POP BX
	
    RET
    
PRINTF:
	MOV DL,AL
	ADD DL,48
	MOV AH,2
	INT 21H

	POP DX
	POP CX
	POP BX
	
    RET
PRINTAX ENDP

CODES ENDS
    END START



   --------------------------------------------代码区别线----------------------------------

输出结果:

看不懂欢迎提问啦,也欢迎提出我代码中的问题和提出代码优化方案,大家一起学习嘛。
原创看过随手点个赞吧!(虽然我也不太知道点赞有啥用emmm给点鼓励总是好的)嘻嘻

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值