汇编屏幕显示3位数字子程序

OUT_AL:

MOV AH,0;对应百位数字

MOV BL,100

DIV BL

MOV BL,AH

MOV AH,2

ADD AL,30H

MOV DL,AL

INT 21H

MOV AL,BL;对应十位数字

MOV AH,0

MOV BL,10

DIV BL

MOV BL,AH

MOV AH,2

ADD AL,30H

MOV DL,AL

INT 21H

MOV DL,BL;对应个位数字

ADD DL,30H

MOV AH,2

INT 21H

RET

原理:16位DIV8位 除法以及2号功能调用。

三位数初始被放到AL中,0——255,先是除以100得到百位数字,而后除以10得到十位数字,和余下的个位数字。显示过程:欲显示x,x应先加上30H(计算机按照ASCII码显示的规则),而后送到到DL中,调用2号功能最终实现显示数字x.

   对于显示更多些位数的数字原理一样,不同是需要使用更多的寄存器而已。

后记:16DIV8   被除数在AX中,商在AL中,余数在AH中。格式:DIV **  **代表字节寄存器或者指向单字节的表达式。如:DIV BL; DIV BYTE PTR DS:[0]

           32DIV16 被除数高16位存在DX中,低16位存在AX中,运行后商放到AX中,余数放到了DX中。 格式:DIV **  **代表字寄存器或者指向字的表达式。DIV BX ;  DIV WORD PTR ES:[0]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值