汇编作业——输出一个多位数(堆栈)

自定义一个数,赋值给AX,编写程序,将AX中的数以无符号十进制形式输出显示。

让AX除以10得到的余数压栈,商赋值给AX,循环到商为0停止,然后出栈

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 AX,1526
   	MOV BL,0;记录压栈次数
   	MOV CL,10;除数
L1:
	ADD BL,1 ;栈内数字+1  	
   	DIV CL	;AX/CL,AL,余数AH
   	
   	;将余数AH压栈,因为最低压16位,这里就压了AXPUSH AX
   	
   	;AX = AL
   	MOV AH,0
   	
   	;比较
   	CMP AL,0
   	JA L1
   	;全部压栈,开始输出
L2:
	SUB BL,1	;栈内数字-1  	
	POP DX
	MOV DL,DH
	ADD DL,48
	MOV AH,2
	INT 21H
   	CMP BL,0
   	JA L2  	
   	JMP L0
L0:
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值