雑記帳
ここはhideyosiの雑記帳です。テケトーに書き散らしてるだけなので間違っていたりとは普通にしてます。信用度は相当低いことをあらかじめご了承を。またご覧のようにWikiを使ってますが、hideyosi意外は書き込めません。
  • ソース を表示
  • NASK/命令/MOV は削除されています。
4: 2007-12-06 (木) 00:57:34 ソース バックアップ No.4 を復元して編集 現: 1970-01-01 (木) 18:00:00 ソース 編集
Line 1: Line 1:
-[[FrontPage]] 
-* MOV [#s94119ca] 
-''転送命令''といわれる。 
-ある所からある所へ転送を行うが、どこでもなんでもというわけではない。 
- 
--MOV命令は全て MOV ○○○ ← △△△  というように、右から左に向かって転送(代入)を行うパターンになる。 
- 
- 
-**できること [#n6e2d0b2] 
-   MOV    AL,0x02      ;ALレジスタに0x02を入れる 
- 
-   MOV    AX,DX        ;AXレジスタにDXレジスタの内容を入れる 
- 
-   MOV    EAX,LABEL    ;EAXレジスタにLABELというラベルの「番地」を入れる 
- 
-   MOV    EDX,[0X0200]  ;EDXレジスタに0x0200番地の「メモリの内容」を入れる 
- 
-   MOV    EBX,[EAX]    ;EBXに、EAXに入っている番地の「メモリの内容」を入れる 
- 
- 
- 
-*できないこと [#p3687ea3] 
--大きさが異なるレジスタ間の転送はできない 
- 例: 
-       MOV    EBX,AL      ;EBXは32bit、ALは16bitで大きさが異なる 
- 
--直接代入できないレジスタである 
- 例: 
-       MOV    ES,0x30    ; ESレジスタは即値を直接代入できない 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
--CPUの仕様?からか、直接代入できないレジスタがあるので注意。 
- 
-|~汎用レジスタ|~レジスタ代入|~即値代入|~備考| 
-|AX|○|○|| 
-|BX|○|○|アドレス指定の使用に向いている| 
-|CX|○|○|ループ時のカウンタとして使用するのに向いている| 
-|DX|○|○|| 
-|~インデックスレジスタ|~正式名称|~用途|~備考| 
-|SI|ソースインデックス|汎用|ストリング命令に使用すると便利?| 
-|DI|ディスティネーションインデックス|汎用|~| 
-|~特殊レジスタ|~正式名称|~用途|~備考| 
-|BP|ベースポインタ||| 
-|SP|スタックポインタ||スタックアドレスの''オフセット値''を示す| 
-|IP|インストラクションポインタ|×|次に実行すべき命令の番地の''オフセット値''を示す| 
-|~セグメントレジスタ|~正式名称|~用途|~備考| 
-|CS|○|×|次に実行すべき命令の番地の''セグメント値''を示す| 
-|DS|○|×|| 
-|ES|○|×|| 
-|SS|○||スタックアドレスの''セグメント値''を示す| 
-|~フラグレジスタ|~正式名称|~用途|~備考|