8086 マイクロプロセッサのさまざまな文字列命令?
8086 マイクロプロセッサは、特にデータの文字列を操作するいくつかの文字列命令を提供します。これらの命令はソース文字列と宛先文字列を操作し、文字列内の移動、比較、検索などの操作を実行します。これらは文字列処理タスクを簡素化し、コードの効率を高めます。 8086 マイクロプロセッサで一般的に使用される文字列命令の一部を次に示します。
1.ムーブ:
- MOVS 命令は、バイトまたはワードをソース文字列から宛先文字列に移動するために使用されます。
- 構文:MOVS 宛先、ソース
- 例:MOVS BX, CX [CX が指すメモリ位置から BX が指すメモリ位置にバイトを移動します。]
2. MOVSB:
- MOVSB 命令は、ソース文字列から宛先文字列にバイトを移動するために特に使用されます。
- 構文:MOVSB 宛先、ソース
- 例:MOVSB [DI]、[SI] [SI が指すメモリ位置から DI が指すメモリ位置にバイトを移動します。]
3. MOVSW:
- MOVSW 命令は、ソース文字列から宛先文字列に単語を移動するために特に使用されます。
- 構文:MOVSW 宛先、ソース
- 例:MOVSW [BX]、[CX] [CX が指すメモリ位置から BX が指すメモリ位置にワードを移動します。]
4. CMPS:
- CMPS 命令は、ソース文字列のバイトまたはワードを宛先文字列のバイトまたはワードと比較します。
- 構文:CMPS 宛先、送信元
- 例:CMPS [DI]、[SI] [DI が指すメモリ位置のバイトと SI が指すメモリ位置のバイトを比較します。]
5. CMPSB:
- CMPSB 命令は、特にソース文字列のバイトと宛先文字列のバイトを比較します。
- 構文:CMPSB 宛先、ソース
- 例:CMPSB [DX]、AL [DX が指すメモリ位置のバイトと AL レジスタのバイトを比較します。]
6. CMPSW:
- CMPSW 命令は、特にソース文字列の単語と宛先文字列の単語を比較します。
- 構文:CMPSW 宛先、ソース
- 例:CMPSW [BX]、CX [BX が指すメモリ位置のワードと CX レジスタ内のワードを比較します。]
7. SCAS:
- SCAS 命令は、ソース文字列のバイトまたはワードを AL または AX レジスタ内のバイトまたはワードと比較します。
- 構文:SCAS ソース
- 例:SCAS [DI] [DI が指すメモリ位置のバイトと AL レジスタのバイトを比較します。]
8. SCASB:
- SCASB 命令は、ソース文字列のバイトと AL レジスタ内のバイトを特に比較します。
- 構文:SCASB ソース
- 例:SCASB [DX] [DX が指すメモリ位置のバイトと AL レジスタのバイトを比較します。]
9.スカウ:
- SCASW 命令は、ソース文字列のワードと AX レジスタ内のワードを特に比較します。
- 構文:SCASW ソース
- 例:SCASW [BX] [BX が指すメモリ位置のワードと AX レジスタ内のワードを比較します。]
10.ロッズ:
- LODS 命令は、ソース文字列から AL または AX レジスタにバイトまたはワードをロードします。
- 構文:LODS ソース
- 例:LODS [DI] [DI が指すメモリ位置からバイトを AL レジスタにロードします。]
11. LODSB:
- LODSB 命令は、具体的にはソース文字列から AL レジスタにバイトをロードします。
- 構文:LODSB ソース
- 例:LODSB [DX] [DX が指すメモリ位置から AL レジスタにバイトをロードします。]
12. LODSW:
- LODSW 命令は、特にソース文字列から AX レジスタにワードをロードします。
- 構文:LODSW ソース
- 例:LODSW [BX] [BX が指すメモリ位置から AX レジスタにワードをロードします。]
13. STOS:
- STOS 命令は、バイトまたはワードを AL または AX レジスタから宛先文字列に格納します。
- 構文:STOS 宛先
- 例:STOS [DI] [AL レジスタから DI が指すメモリ位置にバイトを格納します。]
14.ストーブ:
- STOSB 命令は、具体的には AL レジスタから宛先文字列にバイトを格納します。
- 構文:STOSB 宛先
- 例:STOSB [DX] [AL レジスタから DX が指すメモリ位置にバイトを格納します。]
15.ストスワ:
- STOSW 命令は、特に AX レジスタから宛先文字列にワードを格納します。
- 構文:STOSW 宛先
- 例:STOSW [BX] [AX レジスタから BX が指すメモリ位置にワードを保存します。]
これらの文字列命令を使用すると、文字列のコピー、比較、検索、変更などのさまざまな文字列操作タスクを効率的に実行できます。これらは文字列データの処理を最適化し、文字列を含むプログラミング タスクを簡素化します。