基本汇编语言8086中的表示

时间:2014-11-16 16:29:33

标签: assembly types x86-16 primitive-types

给出以下值:

x db 128; db -128和y将是相同的值,如x仅dw,b与y仅-128和z dd和c dd -128相同。 显示哪些是基数2和16中的x,a,y,b,z,c的表示(符号和无符号)。解释为什么。看看我做了什么:

我做到了:

   (128)in base 2 = 10000000(i have used . to view better)
   (-128)in base 2 db = also with 10000000
   dw: 128 in base 2 = 0000000001000000
   128 is = 1111111111000000
   dd : 128 in base 2 = 00000000000000000000000001000000
   128 in base 2 = 11111111111111111111111111000000

我如何解决这个问题?这就涉及到问题。我不知道如何在基数16中转换所有数字符号和无符号,db,dw和dd。一些想法?

1 个答案:

答案 0 :(得分:1)

  

128 = 1111111111000000

这不正确。 16位数字128将是0000000010000000。如果您的意思是-128那么那将是1111111110000000(请注意,其中一个1比您的版本少{。}}。

  

我不知道如何在16号基地进行转换

只需获取二进制表示,并将每组四位映射到十六进制数字:

Base2  Base16
-------------
0000    0
0001    1
0010    2
0011    3
0100    4
0101    5
0110    6
0111    7
1000    8
1001    9
1010    A
1011    B
1100    C
1101    D
1110    E
1111    F

例如,10000000等于0x8001111111等于0x7F,依此类推。