(0101)B=5(D)加3:(0101)B+(0011)B=(1000)B --十进制表示:5+3=8 再左移一位后:(1000Xn)B= (0001_000Xn)BCD 对应十进制显示:1 Xn 每四位BCD码对应一位十进制数,即:(10+Xn)D,转换成功 注:Xn为下一位串行输入的二进制数。2、设计思路 这里一共需要四个...
设计1个子程序,将8位二进制数(0-FFH)转换为BCD码数。(本题15分)入口: A=待转换二进制数出口: (R0+1)=BCD数的十位数、个位数(R0)=BCD数的
8位二进制最大可表示255 所以至少要10bit的容量
bai=8_bit/100;shi=8_bit%100/10;ge =8_bit%10;
MOV B,#10 DIV AB MOV 20H,A MOV 21H,B
除以10,余数就是个位;再除以10,就行了。
;入口参数:20H单元中存放要转换的二进制数 ;出口参数:21H单元存放的是百位BCD码,22H单元存放的是十位和个位BCD码,高半字节放十位,低半字节放个位。 ;占用寄存器:A,B BINBCD: MOV A,20H ;取数 MOV B,#64H DIV AB ;除以100,A为百位数 MOV 21H,A ;存入21H单元 MOV A,#0AH XCH A,B ;余数B送A ...
将A中所存放的8位二进制数转换为BCD码,存于片内RAM的20H、21H单元。,MOV B,#100DIV ABMOV R0,#21HMOV @R0,ADEC
将累加器A中的8位二进制转换成3位BCD码格式的十进制。其中,百位数的BCD码放在21H单元中,十位和个位数放在22H 单元中。
问答题试编程将片内RAM30H单元中8位无符号二进制数转换成BCD码,并存入片内RAM40H(百位)和41H(十位,个位)两个单元中。 参考答案: 您可能感兴趣的试卷 你可能感兴趣的试题 1.问答题试编程将20H单元中的压缩BCD数拆开并变成相应的ASCII码存入30H和31H单元。