アセンブリ


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

必要になったので勉強したことを書くかもしれない。
ページのタイトルはアセンブラって書いてしまったけど、
アセンブラじゃなくてアセンブリ言語と書くべきだったのかもしれない。
インテルのマヌアルを参考にしています。

REP/REPE/REPZ/REPNE/REPNZ

Repeat String Operation Prefixって書いてあった。インテルのマニュアルに。

このプリフィックスは、カウントレジスタ(RCX,ECX,CX)に入っている値の回数だけストリング命令を繰り返します。一回実行するとデクリメント(値を1減らす)します。またはZF(ゼロフラグ)の状態によって判断される条件が満たされなくなるまで繰り返します。条件というのは↓になります。

REP ZFは関係ない

REPE/REPZ ZF=0

REPNE/REPNZ ZF=1
ZFのチェックはイテレーション後に行われます。ということは一回は実行されるんですかね。

これらのプリフィックスが付けられる命令は以下です。
REP INS,OUTS,MOVS,LODS,STOS
REPE/REPNE/REPZ/REPNZ CMPS,SCAS
REPZ/REPNZ REPE,REPNEと同じ
REPeatプリフィックスは一度に一つのストリング命令しにしか適応できません。複数命令をリピートしたかったらLOOP命令を使うか、他のループ幸三を使用してください。

例外は、プリフィックスが付けられた命令に従います。

out 0xb2 al

0xb2へのoutはbios呼び出し?
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。