彙編自學 (15) 補碼 jmp

爲了避開 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

[轉載]彙編自學 <wbr>(15) <wbr>補碼 <wbr>jmp

 

附註: 對計數器上按紐功能有不明白可以查看計算器上的 幫助, 或者右鍵點計算器上的按紐查看該鍵功能,

可以通過右鍵單擊任意的“計算器”按鈕,然後單擊“這是什麼?”來查看.

[轉載]彙編自學 <wbr>(15) <wbr>補碼 <wbr>jmp

 

[轉載]彙編自學 <wbr>(15) <wbr>補碼 <wbr>jmp

 

10000000b 表示多少呢? 因爲高位是1, 證明是負數,

1. 切換到2進制, 選擇 "字節".

2. 輸入 10000000 後點 Not 鍵取反得到 1111111.

3. 加 1 等於 10000000.

4. 切換到 10進制, 可以看到是 128.

所以就是 -128.

 

//p317 

 

; jmp
assume cs:codesg

codesg segment

 start: mov ax, 0
       jmp short s
       add ax, 1

    s: inc ax

codesg ends

end start

 

//---------------------------

指令 "jmp short 標號" 功能爲: (IP) = (IP) + 8位位移

指令 "jmp near 標號" 功能爲: (IP) = (IP) + 16位位移

//p178 

發佈了73 篇原創文章 · 獲贊 7 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章