首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 組合語言

匯編基礎:跳轉指令完全指南(無條件/條件轉移)

     編輯:組合語言

無條件轉移 JMP

分段內/段間:

  • 段內直接:JMP NEAR PTR TARGET,IP ← IP + 位移。
  • 段內間接:JMP REG 或 JMP WORD PTR MEM,IP ← 寄存器/內存值。
  • 段間直接:JMP FAR PTR TARGET,CS:IP ← 目標段基:偏移。
  • 段間間接:JMP DWORD PTR MEM,IP ← 內存低字,CS ← 內存高字。

條件轉移指令

根據標誌寄存器 (SF, ZF, CF, PF, OF) 狀態決定是否跳轉。緊跟在影響標誌的算術/邏輯/移位指令之後。常見指令:

  • JZ/JNZ (ZF=1/0)、JS/JNS (SF=1/0)、JC/JNC (CF=1/0)、JO/JNO (OF=1/0)、JP/JNP (PF=1/0)
  • 有符號比較:JG/JNLE、JL/JNGE 等
  • 無符號比較:JA/JNBE、JB/JNAE 等
  • 循環專用:LOOP、LOOPE/LOOPZ、LOOPNE/LOOPNZ、JCXZ

詳細條件表參考外部資源。條件轉移是分支/循環構建基石。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved