微机原理==汇编语言编写十进制数到二进制数的进制转换并显示

不同进制间转换一直是汇编语言必须要掌握的编程技巧,算法也比较简单: 
例如:当其他进制数转为十进制时使用的除十取余法,压入栈中,弹出后实现逆序输出; 
当其他进制数转为二进制时使用的除二取余法,压入栈中,弹出后实现逆序输出; 
进而扩展:当其他进制数转为R进制时使用的除R取余法,压入栈中,弹出后实现逆序输出; 
下面介绍一种比较简便的方法,通过移位指令实现的十进制数到二进制数形式的进制转换程序, 
程序使用8086宏汇编MASM5.0编译运行通过! 
源代码如下:

<span style="font-family:SimSun;font-size:18px;">assume cs:code    
code segment    
;主程序    
start:     
   mov al,74h    
   call binary    
   mov ax,4c00h    
   int 21h    
;子程序    
;功能:通过移位和带进位加法实现的将al中的内容以二进制形式显示    
;入口参数:al    
;出口参数:无    
binary proc near    
   push bx    
   push cx    
   push dx  ;保护现场    

   mov bl,al    
   mov cx,8 ;循环8次    

s: mov dl,30h       
   shl bl,1    
   adc dl,0    
   mov ah,2 ;调用DOS功能调用,显示'0'或'1'    
   int 21h    
   loop s    

   pop dx   ;恢复现场    
   pop cx    
   pop bx    
   ret    
binary endp    
code ends    
end start</span>
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值