上のニーモニック表の通り、「LODS?」命令はメモリーの内容をレジスタに読み込む。 SIが増えるか減るかは、「MOSV?」と同様、DF(フラグ)によって変わる。この命令は、読み込んだ値を細工して(例えば大文字に変換したり)使ったり、比較して(例えば大文字かなど)使うことが多いので、「REP」命令] と組み合わせて使うことはほとんどない。どちらかと言えば、細工や比較した後に、「STOS?」で格納して、「LOOP」命令で繰り返すことが多い。例えば、文字列を大文字にしながらコピーするとか、ある文字が出てくるまでコピーすると言った用途に使われる。LODSB ( Load String Bytes ) :ストリングのバイト取得
LODSB 動作:[DS:SI]の内容1バイトをALに読み込み、 DF=1の時は、SIを1減らす。 DF=0の時は、SIを1増やす。 影響を受けるフラグ:なしLODSW ( Load String Words ) :ストリングのワード取得
LODSW 動作:[DS:SI]の内容2バイトをAXに読み込み、 DF=1の時は、SIを2減らす。 DF=0の時は、SIを2増やす。 影響を受けるフラグ:なしLODSD ( Load String Doublewords ) :ストリングのダブルワード取得
LODSD (80386以上) 動作:[DS:SI]の内容4バイトをEAXに読み込み、 DF=1の時は、SIを4減らす。 DF=0の時は、SIを4増やす。 影響を受けるフラグ:なし
| ストリングの取得 【86】 |
|