串操作类型
| 类型 | 汇编指令格式 | 功 能 | 操作数说明 | 时钟周期数 | 字节数 |
|---|---|---|---|---|---|
| 串 操 作 类 | MOVSB MOVSW | ((DI)) ← ((SI)) (SI) ← (SI)±1, (DI) ← (DI)±1 ((DI)) ← ((SI)) (SI) ← (SI)±2, (DI) ← (DI)±2 | 不重复:18 重复:9+17/rep 不重复:18 重复:9+17/rep | 1 1 | |
| STOSB STOSW | ((DI)) ← (AL) (DI) ← (DI)±1 ((DI)) ← (AX) (DI) ← (DI)±2 | 不重复:11 重复:9+10/rep 不重复:11 重复:9+10/rep | 1 1 | ||
| LODSB LODSW | (AL) ← ((SI)) (SI) ← (SI)±1 (AX) ← ((SI)) (SI) ← (SI)±2 | 不重复:12 重复:9+13/rep 不重复:12 重复:9+13/rep | 1 1 | ||
| CMPSB CMPSW | ((SI)) - ((DI)) (SI) ← (SI)±1, (DI) ← (DI)±1 ((SI)) - ((DI)) (SI) ← (SI)±2, (DI) ← (DI)±2 | 不重复:22 重复:9+22/rep 不重复:22 重复:9+22/rep | 1 1 | ||
| SCASB SCASW | () - ((DI)) (DI) ← (DI)±1 (AX) ← ((DI)) (DI) ← (DI)±2 | 不重复:15 重复:9+15/rep 不重复:15 重复:9+15/rep | 1 1 | ||
| REP string_instruc | (CX)=0退出重复,否则(CX) ←(CX)-1并执行其后的串指令 | 2 | 1 | ||
| REPE/REPZ string_instruc | (CX)=0或(ZF)=0退出重复,否则(CX)←(CX)-1并执行其后的串指令 | 2 | 1 | ||
| REPNE/REPNZ string_instruc | (CX)=0或(ZF)=1退出重复,否则(CX)←(CX)-1并执行其后的串指令 | 2 | 1 |
本文详细解析了串操作指令在汇编语言中的应用,包括MOVSB、MOVSW、STOSB、STOSW、LODSB、LODSW、CMPSB、CMPSW、SCASB、SCASW等指令的功能、操作数说明及执行效率,同时探讨了REP、REPE/REPZ、REPNE/REPNZ指令的使用条件。
1万+

被折叠的 条评论
为什么被折叠?



