我在“编程Z80”一书中遇到过这个问题,这是一个没有回答的练习题。
答案 0 :(得分:3)
因为您尝试用二进制数表示十进制值。您只能使用0到9之间的数字表示。
有效的BCD 4位块:
0000 - 0
0001 - 1
0010 - 2
0011 - 3
0100 - 4
0101 - 5
0110 - 6
0111 - 7
1000 - 8
1001 - 9
无效的BCD 4位块:
1010 - 10
1011 - 11
1100 - 12
1101 - 13
1110 - 14
1111 - 15
示例:
0101 0011 - 53
1001 0111 - 97
1000 1001 0100 - 894
1010 0000 - (10)0 // We can't represent 10 in a single decimal digit
值10到15在BCH(binary coded hexadecimal)上下文中有效。之前的无效示例将导致如下所示:
1010 0000 - A0