将用BCD码表示的 一个2位数转换成二进制数,汇编,求注释

作者&投稿:频昭 (若有异议请与网页底部的电邮联系)
~ “为什么要乘以这个数,怎么来的”——AL的低4位现在是从高4位经ROR
AL,CL指令右移4位过来的,但它在高4位时表示的是BCD码的十位数0101,将它乘以10再加上个位(已在前面用MOV
BL,AL、AND
BL,0FH两条指令处理在BL低4位了)BL,就是一个完整的用二进制表示的二位十进制数了。0AH刚好是用十六进制表示的十进制数10啊!直接写MOV
BH,10应该也是能接受的吧?


大冶市13674608275: 编写程序,实现将一个两位的BCD码转换成ASCII码,例如(12)BCD转换成31H和32H. -
盍湛万舒: data segment bcd1 db 12h ;压缩的bcd code asc1 db 0,0 ;转换后的ascii code data ends code segment assume cs:code, ds:data start: mov ax,data mov ds,ax mov al,bcd1 ;(al)=12 and al,0f0h ;(al)=10 mov cl,4 shr al,cl ;(al)=01 add al,30h ;(al)=31...

大冶市13674608275: 把一个2位的非压缩BCD码转换成其对应的二进制数
盍湛万舒: 也不知道是不是把那两位组成一个二进制数 还是独立的两个二进制数 如果是两个合成一个的话 那就把第一个放到A里,然后左移四位,再和FFH做"与",把结果调到别的地方暂存,然后再把第二个放到A,然后和FFH做"与",结果两数相加就可以了, 两个独立分开的话,分别和FFH做"与"就行了啊

大冶市13674608275: 将给定的一个二进制数转换成十进制码(BCD) -
盍湛万舒: 100110的10进制是38 得出8421码为0011 1000 8421BCD码 二进制编码的十进制数,简称BCD码(Binarycoded Decimal). 这种方法是用4位二进制码的组合代表十进制数的0,1,2,3,4,5,6 ,7,8,9 十个数符 参考 http://wenwen.sogou.com/z/q...

大冶市13674608275: 汇编程序中将BCD码转换成二进制码的程序如何写,初学者求高手指导 -
盍湛万舒: 嘿嘿 俺来帮你解答 BCD码转换成二进制码的方法:1 可以按照按权展开公式: 将BCD码按照千位、百位、十位、个位展开计算 即 (BCD码的千位)*1000+(BCD码的百位)*100+(BCD码的十位)*10+(BCD码的个位) 上述式子之和即为转换后的二进制数. 呵呵 俺只提供给你一个算法 你可以按照上述算法编写一个BCD码转换成二进制码的子程序. 满意就选满意回答吧

大冶市13674608275: 将BCD数转换为二进制数的原理是什么,哪位帮我讲解一下? -
盍湛万舒: BCD是十进制数编码,用4位二进制数表示一位十进制数,而4位二进制数可以表示0-15共16个数,所以4位二进制数后面的6个数 1010 ,1011, 1100 ,1101 ,1110 ,1111 就不用了,或者说BCD码只是4位二进制数的前10个.

大冶市13674608275: 微机原理实验:BCD码是怎么样转换为二进制的? -
盍湛万舒: BCD码分压缩型和下压缩型两种,压缩型BCD码:1位BCD码对应4位二进制码,如:1对应为0001,2对应为0010,……8对应为1000,9对应为1001;非压缩型BCD码:1位BCD码对应8位二进制码,如:1对应为00000001,2对应为00000010,……8对应为00001000,9对应为00001001;

大冶市13674608275: 将一个字节BCD码转换为两个ASCII码. -
盍湛万舒: 若原数存于r7,结果存于十位存r5、个位存于r6movnbsp;a,r7anlnbsp;a,#0fhaddnbsp;a,#30h;(0的ascii为30h)movnbsp;r6,amovnbsp;a,r7swapnbsp;aanlnbsp;a,#0fhaddnbsp;a,#30hmovnbsp;r5,aret

大冶市13674608275: 单片机怎么把BCD码转换成二进制啊
盍湛万舒: BCD码要转换成二进制,需要先转换为十六进制,再转换为二进制就很方便了,比如:BCD码:32H,转换为十六进制为:20H(3*10+2=32=20H),对应二进制为:00100000

大冶市13674608275: 将一个给定的二进制数,转换成一个二进制编码的十进制(bcd)码. -
盍湛万舒: 数字ascii码是 0x30-0x39,可以看到高四位都是0x3,所以可以压缩 ,将两个字节的数字都掐掉高四位,然后拼成一个字节 0x30 0x31 就变成了 0x01,这个就是BCD压缩编码.至于汇编语言,,,,早还给老师了.

大冶市13674608275: 十进制数用8421bcd码表示 -
盍湛万舒: 十进制数用8421bcd码表示的转换方法就是将1位十进制数转化成四位二进制. 例如:10的8421BCD码值就是00010000,8的8421BCD码值就是1000. 8421码又称为BCD码,是十进制代码中最常用的一种在这种编码方式中,每一位二值代码...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网