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

匯編基礎:進制轉換與串操作指令詳解

     編輯:組合語言

ASCII 與二進制互轉 (十六進制)

分三區:

  1. 0-9:ASCII 低 4 位即值,高 4 位加/減 0x30。
  2. A-F:ASCII - 7 後低 4 位為值,高 4 位調整 ±0x30。
  3. a-f:ASCII - 7 後低 4 位為值,高 4 位調整 ±0x50。

五大串操作指令

隱含使用 SI (源)、DI (目標)、DF (方向標誌)。

  1. LODS:載入源串到 AL/AX,修改 SI。LODSB/LODSW 無操作數形式。
  2. STOS:存儲 AL/AX 到目標串,修改 DI。STOSB/STOSW。
  3. MOVS:源→目標,修改 SI、DI。MOVSB/MOVSW。
  4. CMPS:比較源/目標 (源-目),不保存結果,只設標誌位,修改 SI、DI。CMPSB/CMPSW。
  5. SCAS:掃描目標串查找 AL/AX (AL-目),設標誌位,修改 DI。SCASB/SCASW。

重復前綴 REP

REP MOVSB 等:CX 次重復執行串指令,每次 CX-1,直到 CX=0。配合 REPE/REPNE 實現條件重復。

小結

串指令配合 REP 實現高效塊數據移動/比較/查找,是匯編優化關鍵技術。

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