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

匯編基礎:順序、分支與循環程序設計模式

     編輯:組合語言

三大基本控制結構

順序、分支、循環。匯編通過跳轉指令實現後兩者。

順序結構示例:交換兩字變量

MOV AX, X
XCHG AX, Y
MOV X, AX

利用 XCHG 原子交換,無需臨時變量。

分支結構示例:求有符號字絕對值

MOV AX, X
TEST AX, AX      @ 設置標誌位
JNS DONE         @ 非負直接跳過
NEG X            @ 取反
DONE: ...

TEST 不改操作數,只設標誌,供 JNS 判斷符號位。

循環結構示例:查找數組最大值

MOV SI, OFFSET ARY
MOV CX, 9
MOV AL, [SI]
LOP:
    INC SI
    CMP AL, [SI]
    JAE BIGGER
    MOV AL, [SI]
BIGGER:
    LOOP LOP
MOV MAX, AL

LOOP 自動遞減 CX 並條件跳轉,JAE 無符號比較跳轉。

循環指令對比

  • LOOP:CX≠0 跳轉
  • LOOPE/LOOPZ:CX≠0 且 ZF=1
  • LOOPNE/LOOPNZ:CX≠0 且 ZF=0
  • JCXZ:CX=0 跳轉 (不修改 CX)

小結

掌握標誌位設置與條件跳轉配合,是匯編控制流編程核心。

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