将AL(25H)中两位组织的BCD码转换成二进制数,结果存放在BL中

作者&投稿:致致 (若有异议请与网页底部的电邮联系)
bcd数254h对应的二进制数~

BCD码254h对应的二进制数为11111110b。

通常我们默认的BCD码为8421码,即用4位二进制数来表示1位十进制数中的0~9这10个数码,从左到右的权为8、4、2、1。

以十进制37为例,进行转换:
3=2+1=(8421码)0011,7=4+2+1=(8421码)0111。
所以37转换成8421码为0011 0111。
扩展资料:
BCD码这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。这种编码技巧最常用于会计系统的设计里,因为会计制度经常需要对很长的数字串作准确的计算。
相对于一般的浮点式记数法,采用BCD码,既可保存数值的精确度,又可免去使电脑作浮点运算时所耗费的时间。此外对于其他需要高精确度的计算,BCD编码亦很常用。
BCD码的最高位二进制数是符号位,负数的符号位为1,正数为0。16位BCD码的范围为–999~+999。
BCD码没有单独的表示方法,而是借用了十六进制的表示方法,因此二者很容易混淆。通常用以下两种方法去判断:
1、看数据的来源和用途。BCD码一般用于输入和输出,例如来自拨码开关的数据是BCD码,送给显示电梯楼层的译码器芯片的是BCD码。
2、看手册的规定,例如数据类型DATE_AND_TIME中的日期和时间值是BCD码,计数器的预设值PV和当前计数值CV_BCD为BCD码。
参考资料:
BCD码——百度百科
8421码——百度百科

MOV AL, 25H

MOV AH, 0
MOV BL, 16
DIV BL

MOV CL, AH

MOV BL, 10
MUL BL

ADD AL, CL
MOV BL, AL

END

我只能说那2s8都是错的 坑了一代又一代人w我实在看不下去了 答案是0019
mov al,25
mov bl,al
and bl 0f
shr al,1
shr al,1
shr al,1
shr al,1
mov cl,10
mul cl
add bl al

  1.   mov   ah,0

  2.   div    16

  3.   add   al,ah

  4. mov    bl,al




将AL(25H)中两位组织的BCD码转换成二进制数,结果存放在BL中
MOV AL, 25H MOV AH, 0 MOV BL, 16 DIV BL MOV CL, AH MOV BL, 10 MUL BL ADD AL, CL MOV BL, AL END

将AL(25H)中两位组织的BCD码转换成二进制数,结果存放在BL中
MOV AL, 25H MOV AH, 0 MOV BL, 16 DIV BL MOV CL, AH MOV BL, 10 MUL BL ADD AL, CL MOV BL, AL END

汇编语言程序设计高手进
(1)mov al,25h (2) mov bl,2 mul bl (3)mov bl,15h (4)mul bl ax=0612h 3、(1)11个字节 (2)DA4的值是2 (3)不明白什么意思 4、(1)ax=num的段地址 (2)bx=num的便宜地址 (3)不会 5、(1)功能是:找出ADRR数据中不等于0的数 (2)如果ADRR中有不等于0的数则RETT为...

A. MOV AL,25H B. ADD BH,AL C. INC DS:[25H]
答案为:A A. MOV AL,25H ;立即数寻址,直接把25H送到AL寄存器,操作数据25H会被编译在代码段里。详细可以看一下立即数寻址介绍 B. ADD BH,AL ;寄存器寻址,把BH的值加上AL的值,结果放在BH C. INC DS:[25H] ;直接操作数据段的25H的内存单元,D. CMP AL,BL ;比较AL和BL ...

执行指令MOV AL OA5H和AND AL 3FH后,AL中的数据是什么?
AL=25H

...传送25H到AL寄存器(2)将AL的内容乘以2(3)传送15H到BL寄存器_百度知 ...
(1)传送25H到AL寄存器 MOV AL, 25H (2)将AL的内容乘以2 ADD AL, AL (3)传送15H到BL寄存器 MOV BL, 15H (4)AL的内容乘以BL的内容 MUL BL 并请写出最后(AX)= 0625H

如何用汇编语言读取内存值
MOV AX,[SI] ;寄存器寻址,将SI寄存器中的值作为地址,SI寄存器中存放的地址中 内容送到AX寄存器中。另外,任何通用寄存 (AX,BX,CX,DX,SI,DI,BP,SP)都可以放入方括号[]中行寻址 NUMBER DW 1234H ;变量地址定义 ...MOV AX,[NUMBER] ;将NUMBER的地址进行寻址,然后将地址内的内容...

用汇编语言如何实现 3个 16位二进制数相加
你这是两个三字节的二进制数,即24位的二进制数,不叫3个16位二进制数,只是两个数相加。你的程序这么写,每一个数是先存放高位,后放低位。如被加数放20H,先是放最高位,再放21H,最低位放22H。可通常是20H先放低位,22H后放高位,这样,程序就要改了。还按你的程序的写法,修改如下,其它...

求大神学霸答几道题,汇编语言的
4、写出完成下述功能的指令或程序段,并请写出按顺序执行后AX寄存器中的值。要求 对应指令或程序段 (1)传送25H到AL寄存器 ---MOV AL, 25H (2)将AL的内容乘以2 ---ADD AL, AL (3)传送15H到BL寄存器 ---MOV BL, 15H (4)AL的内容乘以BL的内容 ---MUL BL ...

计算机怎样区分进制?例如mov al,25 这是十进制25还是16进制25?
这里的25是十进制的,键盘输入的时候默认这个事十进制的,如要是16进制的应该是25h。

保德县18822457696: 将AL(25H)中两位组织的BCD码转换成二进制数,结果存放在BL中 -
勤店保胆: 1. mov ah,02. div 163. add al,ah4. mov bl,al

保德县18822457696: 将AL(25H)中两位组织的BCD码转换成二进制数,结果存放在BL中 -
勤店保胆: 我只能说那2s8都是错的 坑了一代又一代人w我实在看不下去了 答案是0019mov al,25mov bl,aland bl 0fshr al,1shr al,1shr al,1shr al,1mov cl,10mul cladd bl al

保德县18822457696: START:MOV B,#100. DIV AB. MOV 25H,A MOV A,B MOV B,#10 DIV AB SWAP A . ADD A,B MOV 26H,A RET -
勤店保胆: 这个程序的功能是将A中的16进制数转化为BCD码,并将结果保存在25H开始的两个字节中,25H保存BCD码百位,26H保存这个BCD码的十位和个位,

保德县18822457696: 怎样用汇编语言编程将30H单元的两位BCD码拆成相应的ASCII,存入31H,32H单元中? -
勤店保胆: 方法如下: 1. MOV A, 30H ; 取数据,如56H; 2. ANL A, #0FH ; 获得低位06H; 3. ORL A, #30H ; 高位变3,成36H,即ASCII码; 4. MOV 31H, A ; 存入指定单元; 5. MOV A, 30H ; 取数据,如56H; 6. SWAP A ; 高低字节交换,变65H; 7. ...

保德县18822457696: 将AL中压缩BCD码23H转换成ASC码存放在BX中,汇编编程 -
勤店保胆: ;将AL中压缩BCD码23H转换成ASC码存放在BX中,汇编编程 code segment assume cs:code,ds:code org 100h start:push cs pop ds mov al,23h mov ah,al mov cl,4 shr ah,cl add ah,30h mov bh,ah and al,0fh add al,30h mov bl,al int 20h code ends end start

保德县18822457696: 汇编语言编程序段 将AL中压缩BCD数拆成两个非压缩BCD数,并存人入AX -
勤店保胆: MOV AH, AL MOV CL, 4 SHR AH, CL AND AL, 0FH ------执行以上语句后,将AL中压缩BCD数拆成两个非压缩BCD数,并存人入AX

保德县18822457696: 编写程序,实现将一个两位的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...

保德县18822457696: (新手)8086中组合BCD码的转换问题 -
勤店保胆: 应该是AL寄存器中的BCD码转换成ASCII编码吧.在计算机中数字对应的ASCII码为0-30H1-31H. .. .. .9-39H 你AL一开始是BCD码0到9对应的是0000 0000B到0000 1001B 转换时使用指令OR AL,30H(也就是0011 0000B) OR:或指令你应该知道运算规则的吧.指令执行后BCD码的00000000B(0)-00001001B(9)变为00110000B(0)-00111001B(9)就把BCD码的0-9转换成了ASCII码的0-9.

保德县18822457696: 位操作指令、转移指令、字符串操作指令的使用 -
勤店保胆: 6. 从键盘输入一个字符串,把它(转化为大写字后)显示出来.只要在实现的时候加上48就行了.7. 将2000h起始处的字符串传送到2100h起始处 用指针8.在2000h起始处的字符串中查找字符'a',如果找到将它换成字符'A',完成后将字符串显示出来. 同6题差不多 其他的我不会了.我尽力了

保德县18822457696: 【单片机】30H与31H中存了两位BCD码,转为十进制存入40H中 -
勤店保胆: MOV A,30H;取低4位的BCD码 SWAP A;转换到高4位 ORL A,31H;;合并31H的BCD码 MOV 40H,A;存入40H

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