您的位置:首页 > 其它

汇编语言编写十进制数到二进制数的进制转换并显示的子程序

2016-11-18 21:53 393 查看
不同进制间转换一直是汇编语言必须要掌握的编程技巧,算法也比较简单:

例如:当其他进制数转为十进制时使用的除十取余法,压入栈中,弹出后实现逆序输出;

当其他进制数转为二进制时使用的除二取余法,压入栈中,弹出后实现逆序输出;

进而扩展:当其他进制数转为R进制时使用的除R取余法,压入栈中,弹出后实现逆序输出;

下面介绍一种比较简便的方法,通过移位指令实现的十进制数到二进制数形式的进制转换程序,

程序使用8086宏汇编MASM5.0编译运行通过!

源代码如下:

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  汇编语言
相关文章推荐