为了避开 0 出现重码, 所以采用 补码 这种编码方法.
先确定 00000000b - 01111111b 表示 0 - 127 , 然后再用 按位取反 表示负数.
表达范围是 -128至 +127, 一共是 128 + 1 + 127 = 256个
最高位为 1 的表示负数 如: 10000000 、 10010000 都是负数.
-20 的补码是多少呢?
-20 的绝对值是20, 20即 00010100b, 将 00010100b 取反即 11101011, 11101011 加1等于 11101100
1. 打开计算器, 选择科学型, 选择10进制, 输入20.
2. 切换到2进制, 选择左上的"字节", 20变成10100.
3. 点 Not 键取反, 变成 11101011.
4. 加 1, 变成 11101100
附注: 对计数器上按纽功能有不明白可以查看计算器上的 帮助, 或者右键点计算器上的按纽查看该键功能,
可以通过右键单击任意的“计算器”按钮,然后单击“这是什么?”来查看.
10000000b 表示多少呢? 因为高位是1, 证明是负数,
1. 切换到2进制, 选择 "字节".
2. 输入 10000000 后点 Not 键取反得到 1111111.
3. 加 1 等于 10000000.
4. 切换到 10进制, 可以看到是 128.
所以就是 -128.
//p317
; jmp
assume cs:codesg
codesg segment
codesg ends
end start
//---------------------------
指令 "jmp short 标号" 功能为: (IP) = (IP) + 8位位移
指令 "jmp
//p178