编码跳转目标 - 计算机系统程序员的观点

时间:2014-07-18 23:53:22

标签: elf disassembly

我正在阅读有关如何编码跳转指令的部分,我对突出显示的文本行感到困惑:See text here

0xf3 = decimal -13怎么样?这是一个错误吗?我试过检查勘误,但也没有。

here's the assembly

1 个答案:

答案 0 :(得分:1)

不,这不是错误。 "单字节,two's complement"是这里的重要部分。 所以:

  • 基数10中的0xf3为(15 * 16)+(3 * 1)= 240 + 3 = 243
  • 243 in binary是11110011
  • 使用两个补码形式来获得"实际"基数为10的数字:

11110011

= -128 + 64 + 32 + 16 + 0 * 8 + 0 * 4 + 2 + 1

= -128 + 64 + 32 + 16 + 2 + 1

= -13