本文介绍了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 AAM Instruction

8086 INT 21h function to print a character

这篇关于BCD到ASCII转换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-02 17:01