資料集
ここはhideyosiの学習帳です。いろいろな資料を集めたり整理したりしています。オイラ用のノートなので間違っていたり未完成だったりしますので信用度は相当低いことをあらかじめご了承くださいませ。
|
1: 2007-12-06 (木) 12:07:55 |
| + | [[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|○||スタックアドレスの''セグメント値''を示す| |
| + | |~フラグレジスタ|~正式名称|~用途|~備考| |
Counter: 3904,
today: 1,
yesterday: 0