本文介绍了BCD到ASCII转换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我知道,在BCD每4位是十进制一个数字,但我有一个问题,例如,当我想要打印存储在CH BCD值我这样做:
添加通道,30小时
不过,当值是12,它打印C,我想打印12。
我该怎么办业务数据的4位?
解决方案
MOV人,CH;如果ch拥有12小时
AAM;斧头现在将0102H
或斧,3030h;转换成ASCII码 - 斧头现在将成为3132h
;您现在可以打印AX中的值
MOV CX,AX
MOV DL,CH;打印屏幕上的
MOV啊,02H
INT 21H
MOV DL,CL
INT 21H
RET
I know that every 4 bit in BCD is one digit in decimal, but I have a problem, for example when I want to print a BCD value stored in CH I do this :
add ch, 30h
but, when the value is 12, it prints "C", I want to print "12".How can I do operations on 4 bit of data?
解决方案
mov al,ch ; if ch has 12h
aam ; ax will now be 0102h
or ax,3030h ; converting into ascii - ax will now become 3132h
; you can now print the value in ax
mov cx,ax
mov dl,ch ; to print on screen
mov ah,02h
int 21h
mov dl,cl
int 21h
ret
8086 INT 21h function to print a character
这篇关于BCD到ASCII转换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!