BCD码转换成十六进制数

汇编语言——字节变量VAR1中存放有两位BCD码,编写程序段,将它们转换成十六进制数,存放在AL中。
思路:BCD码就是以符号形式呈现的十进制数,比如题目说存着一个BCD码,56H,意思是这个以十六进制保存的符号代表十进制的数56,因此,要把各4位分别取出,乘以十进制各位权重并相加,结果就存在寄存器中,就是十六进制数。56H——00111000=38H

MOV DL,VAR1
MOV DH,DL ;复制到DH便于处理,DL后面还要用到
AND DH,F0H ;0和数与就是将数清零,1和数与就是保持数
MOV CL,4
SHR DH,CL; 取出原数中高四位
MOV BL,10
MOV AL,DH
MUL BL; 高四位的数取出后×10,十进制的运算,结果会自动保存为十六进制
AND DL,0FH
ADD AL,DL

发布了9 篇原创文章 · 获赞 1 · 访问量 2344

猜你喜欢

转载自blog.csdn.net/m0_37820219/article/details/105720199