組合語言 第九章 轉移指令

2022-10-09 06:36:12 字數 659 閱讀 3829

修改cs:ip的值

範圍在-128--127之間,也就是說向前轉移最多128位元組,向後127位元組

mov ax,0 --b80000(對應機器碼)

jum short s --eb03 兩位元組 這裡的eb是jum的機器碼,03指的ip是向下移動2位元組,這裡的03我們就稱為轉移位移,一般用補碼表示,有負數

inc ax --40 一位元組

s:inc ax --40

綜上 jum short 標號的功能:(ip)=(ip)+一位元組轉移位移

類似指令:jum near ptr 功能 (ip)=(ip)+兩位元組轉移位移

jum far ptr 段間轉移 此時的機器碼就沒有轉移位移了,一般都是短位址和偏移位址了

jum ax 指的是(ip)=(16位暫存器)

jum dword ptr ds:[0] 從ds:[0]處開始有四個位元組,高位位元組表示段位址,低位位元組表示段內偏移

所有的有條件轉移指令都是短指令

jcxz 標誌 如果cx=0 則轉移到標號處執行,如果cx!=0,什麼都不做

loop指令 執行操作1.cx=cx-1 2,if cx!=0 --轉移到標號處繼續執行

組合語言 第九章 轉移指令的原理

1 可以修改ip,或同時修改cs和ip的指令統稱為轉移指令.轉移指令就是可以控制cpu執行記憶體中某處的 指令 8086cpu的轉移行為有以下幾類 1 只修改ip時,稱為段內轉移.比如 jmp ax.2 同時修改cp和ip時,稱為段間轉移,比如 jmp 1000 0 由於轉移指令對ip的修改範圍不同...

第九章 轉移指令

目錄有條件轉移指令 jcxz jne je等等 迴圈指令 loop 注意點課後檢測點 轉移指令可以理解為轉移程式執行位置的指令。轉移指令通常會修改ip或 ip與cs 其使用方式根據跳轉的距離 修改ip的範圍 分為三種 段內短轉移 跳轉的ip範圍為 128 127 段內近轉移 跳轉的ip範圍為 327...

組合語言 第九章 實驗

可以正常執行。分析,前面的程式都很簡單,沒啥問題,到了 mov ax,cs si mov cs di ax 這裡,由於s2處的jmp short s1指令jmp機器碼為eb,之後記錄的是跳轉的距離,這裡向上跳到s1處,所以jmp short s1只佔2個位元組,所以jmp short s1處的 就被...