串處理指令
串處理指令分類情況如下:
指令類型 | ||
---|---|---|
MOVS | move string | 傳傳送 |
CMPS | compare string | 串比較 |
SCAS | scan string | 串掃描 |
LODS | load from string | 從串取 |
STOS | store in to string | 存入串 |
INS | input from port to string | 串輸入 |
OUTS | output string to port | 串輸出 |
REP | repeat | 重復 |
REPE/REPZ | repeat while equal/zero | 相等/為零則重復 |
REPNE/REPNZ | repeat while not equal/zero | 不相等/不為零則重復 |
1.MOVS
格式:
MOVS DST,SRC
MOVSB (字節)
MOVSW (字)
MOVSD (雙字)(386及其后繼機型可用)
用法:
指令可以把SI指向的數據段中的一個字節、字或雙字(DS:SI)傳遞到由DI指向的附加段中的一個字節、字或雙字(ES:DI)中去,不影響條件標志位,并根據DF以及數據格式對SI和DI進行修改。
2.CMPS
格式:
CMPS SRC,DST
CMPSB (字節)
CMPSW (字)
CMPSD (雙字)(386及其后繼機型可用)
用法:
指令把DS:SI指向的存儲單元中的數據與ES:SI指向的存儲單元中的數據相減,不保存結果但影響條件標志位,并根據DF的值對SI和DI進行修改。
3.SCAS
格式:
SCAS DST
SCASB (字節)
SCASW (字)
SCASD (雙字)(386及其后繼機型可用)
用法:
指令把AL、AX或EAX中的數據與ES:DI指向的存儲單元中的數據相減,不保存結果但影響條件標志位,并根據DF的值對SI和DI進行修改。
4.LODS
格式:
LODS SRC
LODSB (字節)
LODSW (字)
LODSD (雙字)(386及其后繼機型可用)
用法:
指令把DS:SI指向的存儲單元中的數據送到AL、AX或EAX中,并根據條件標志位DF的值和數據類型來修改SI。
5.STOS
格式:
STOS DST
STOSB (字節)
STOSW (字)
STOSD (雙字)(386及其后繼機型可用)
用法:
指令把AL、AX和EAX中的內容存入由DS:SI指向的存儲單元,并根據DF的值及數據類型修改SI。
6.INS
格式:
INS DST,DX
INSB (字節)
INSW (字)
INSD (雙字)(386及其后繼機型可用)
用法:
指令把端口在DX寄存器中的I/O空間的數據送到由ES:DI指向的存儲單元,并根據DF的值和數據類型修改DI。
7.OUTS
格式:
OUTS DX,SRC
OUTSB (字節)
OUTSW (字)
OUTSD (雙字)(386及其后繼機型可用)
用法:
指令把由DS:SI指向的存儲單元中的數據送到端口號在DX寄存器中的I/O端口中,并根據DF的值和數據類型改變SI。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持html5模板網。