编程论坛
注册
登录
编程论坛
→
汇编论坛
初学者,搞不清楚的问题
狐狸尾巴
发布于 2006-11-08 12:41, 664 次点击
压缩BCD码和非压缩BCD码的区别到底是什么啊?
3 回复
#2
coolday
2006-11-08 14:12
压缩BCD码是用4个二进制位表示一个十进制位,也就是说内存中一个字节可以存两个压缩BCD码数
非压缩BCD码是用8个二进制位表示一个十进制位,这时内存中一个字节只可以存一个非压缩BCD码数
如 5D用压缩BCD码表示是:0101;而用非压缩BCD码表示就是: 0000 0101
#3
磐涅
2006-11-08 17:20
那 0101 1011 是什么格式?
0000 0101 0000 1011 呢?
#4
wchx215
2006-11-10 23:31
0000 0101与0000 1011都是非压缩码
但是0000 1011是错误的,必须转换,因为bcd码最大值不可超过9.
0000 1011应该是11吧!那结果应该是0000 0001 0000 0001 可以如下转换:
假如al=00001011,ah=0
al=al+6
ah=ah+1
al=al&0fh
具体的你可以参照aaa与daa指令。
1