ASCII 與二進制互轉 (十六進制)
分三區:
- 0-9:ASCII 低 4 位即值,高 4 位加/減 0x30。
- A-F:ASCII - 7 後低 4 位為值,高 4 位調整 ±0x30。
- a-f:ASCII - 7 後低 4 位為值,高 4 位調整 ±0x50。
五大串操作指令
隱含使用 SI (源)、DI (目標)、DF (方向標誌)。
- LODS:載入源串到 AL/AX,修改 SI。
LODSB/LODSW 無操作數形式。
- STOS:存儲 AL/AX 到目標串,修改 DI。
STOSB/STOSW。
- MOVS:源→目標,修改 SI、DI。
MOVSB/MOVSW。
- CMPS:比較源/目標 (源-目),不保存結果,只設標誌位,修改 SI、DI。
CMPSB/CMPSW。
- SCAS:掃描目標串查找 AL/AX (AL-目),設標誌位,修改 DI。
SCASB/SCASW。
重復前綴 REP
REP MOVSB 等:CX 次重復執行串指令,每次 CX-1,直到 CX=0。配合 REPE/REPNE 實現條件重復。
小結
串指令配合 REP 實現高效塊數據移動/比較/查找,是匯編優化關鍵技術。