+ -
当前位置:首页 → 问答吧 → 关于汇编的问题?知道的说下

关于汇编的问题?知道的说下

时间:2011-07-13

来源:互联网

十六进制数的一位相当于二进制数的四位,如0100111000100000可表示成:4(0100)、E(1110)、2(0010)、0(0000)四位十六进制数。想问下为什么,(0100)=4、(1110)=E、(0010)=2、(0000)=0??


寄存器 寄存器中的数据 所表示的值
 AX 100111000100000 20000(4E20)
 AH 01001110 78(4EH)
 AL 00100000 32(20H)
  想问下AX的所表示的值为什么会等于20000
  AH的…………………………78
  AL的…………………………32?
  知道的帮下忙!解释下!

作者: ljun92612   发布时间: 2011-07-13

二进制转十六进制:
  因为二进制数仅由0和1组成,你只需记住,二进制数的低位到高位分别表示1,2,4,8,16,32……,即2的(n-1)次方即可。对于四位二进制数,从高到低分别是8,4,2,1。二进制转16进制,只需将2进制数从右向左每四位一组合,每一个组合以一个十六进制数表示。比如:
(3)1110110四个四个组合后相当于0011 1010(注意位数不足补0),
  0011=2+1=3,1010=8+2=A,所以转换成的十六进制数是3A.

反过来,十六进制转二进制,只需把十六进制的每一位分解成四位二进制数即可,比如十六进制的35,首先变3,3介于2和4之间,就想办法把2和1凑成3,2+1=3,所以只有第一位和第二位是1,即0011;再变5,5介于4和8之间,就要想办法把8以前的4,2,1三位数凑成5,可知4+1=5,所以第一位和第三位为1,即0101,所以转换成的二进制数是00110101。
ax中的内容是十六进制的,4e20转成十进制就是20000

作者: zhengzongyue   发布时间: 2011-07-13

1楼说的很清楚了,补充下,ax是16位的,ah是其中高8位就是ax中前面的8个数,al是其中的低8位。建议你先看看微机原理。明白下具体的结构。

作者: jia_china_1989   发布时间: 2011-07-13

一楼什么都会呀!那里都有你的身影!谢谢!

作者: ljun92612   发布时间: 2011-07-13