将用BCD码表示的 一个2位数转换成二进制数,汇编,求注释
作者&投稿:频昭 (若有异议请与网页底部的电邮联系)
AL,CL指令右移4位过来的,但它在高4位时表示的是BCD码的十位数0101,将它乘以10再加上个位(已在前面用MOV
BL,AL、AND
BL,0FH两条指令处理在BL低4位了)BL,就是一个完整的用二进制表示的二位十进制数了。0AH刚好是用十六进制表示的十进制数10啊!直接写MOV
BH,10应该也是能接受的吧?
盍湛万舒: 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码,是十进制代码中最常用的一种在这种编码方式中,每一位二值代码...