つまり、この指示が必要な場合がありますか?REP LODS AL命令が存在するのはなぜですか?
インテルの取扱説明書からが、これは命令が何をすべきかです:DSから
ロード(E)CXバイト:ALに[(E)SI]。
はNASMで、次の例を見てみましょう:
section .data
src: db 0, 1, 2, 3
section .code
mov esi, src
mov ecx, 4
rep lodsb ; mov al, byte[esi + ecx -1]; ecx++
命令rep lodsb
が実行されている間、私はal
にロードされた値を制御することはできません。私ができることは、最後の値がal
になるまで命令が終了するまで待っていることです。もちろん、ループなしで直接得ることができます。
REP LODS AX
,REP LODS EAX
およびREP LODS RAX
と同じ質問が残ります。
である私の古代マイクロソフトMASM「プログラマーズ・ガイド」 'LODS'リピートプレフィックスを取らない命令のその家族の中で唯一のものであることを述べています。 –
存在しないようにするには高価すぎるために存在します。唯一の20000トランジスタから16ビットのプロセッサを構築する必要がある場合、あなたは余裕がない。 –
@WeatherVane、私はそれが私たちのために決定するMASMまでではないと思う、LOL –