資料集
ここはhideyosiの学習帳です。いろいろな資料を集めたり整理したりしています。オイラ用のノートなので間違っていたり未完成だったりしますので信用度は相当低いことをあらかじめご了承くださいませ。
1: 2007-12-06 (Thu) 11:05:45 source Edit Backup No.1 as current. Cur: 2024-01-06 (Sat) 22:37:40 source Edit
Line 1: Line 1:
-AX アキュムレータ +**レジスタ [#ua631774] 
-BX ベースレジスタ +|>|~汎用レジスタ| 
-CX カウントレジスタ +|AX|アキュムレータ| 
-DX データレジスタ +|BX|ベースレジスタ| 
-SI ソースインデックス +|CX|カウントレジスタ| 
-DI デスティネーションインデックス +|DX|データレジスタ| 
-汎用レジスタ(特殊) +|>|~インデックスレジスタ| 
-BP ベースポインタ +|SI|ソースインデックス| 
-SP スタックポインタ +|DI|デスティネーションインデックス| 
-IP インストラクションポインタ +|>|~特殊レジスタ| 
-セグメントレジスタ +|BP|ベースポインタ| 
-CS コードセグメント +|SP|スタックポインタ| 
-DS データセグメント +|IP|インストラクションポインタ| 
-ES エキストラセグメント +|>|~セグメントレジスタ| 
-SS スタックセグメント +|CS|コードセグメント| 
-フラグレジスタ +|DS|データセグメント| 
-EFLAGS フラグレジスタ : CPU状態記述 +|ES|エキストラセグメント| 
-フラグの種類 +|SS|スタックセグメント| 
-OF オーバーフローフラグ : 符号付演算の桁上がりが起こるとセット +|>|~フラグレジスタ| 
-DF ディレクションフラグ : メモリ転送命令の転送方向を示す +|FLAGS|フラグレジスタ|
-SF サインフラグ : 演算結果の符号を示す +
-ZF ゼロフラグ : 演算結果が0であればセット +
-AF 補助キャリーフラグ : BCD演算用キャリーフラグ +
-PF パリティフラグ : 演算結果が偶数だとセット +
-CF キャリーフラグ : 演算結果が桁上がりが起こるとセット+
-     +**フラグレジスタ [#h8bf81e5]
-   マシン語命令(ニーモニック) +
-   データ転送命令 +
-   mov mov ax,bx bx→ax +
-   xchg xchg ax,bx axとbxの内容を入れ替え +
-   算術演算命令 +
-   add add ax,bx ax=ax+bx +
-   adc adc ax,bx キャリー付き加算 +
-   cmp cmp ax,bx +
-   ax>bx +
-   フラグ 値 +
-   ZF 0+
-   フラグ 値 +|bit15|14|13|12|11|10|9|8|7|6|5|4|3|2|1|bit0|h 
-    CF +| |NT|>|IOPL|0F|DF|IF|TF|SF|ZF||AF ||PF||CF|
-   ax=bx +
-   フラグ 値 +
-   ZF 1+
-    フラグ 値 +**命令(ニーモニック)一覧     [#qe8a33fa]
-   CF 0 +
-   ax<bx +
-   フラグ 値 +
-   ZF 0+
-   フラグ 値 
-   CF 1 
-   dec dec ax 1減算 
-   inc inc ax 1加算 
-   div 
-   ソースオペランドが、8ビットであればディスティネーションはAXレジスタになり 
-   商はALレジスタ、余りはAHレジスタに格納 
-   17C4:0100 MOV AX , A 
-   17C4:0103 MOV DL , 3 
-   17C4:0105 DIV DL 
-   17C4:0107 
-   -G =100 107 
-   AX=0103 BX=0000 CX=0000 DX=0003 SP=FFEE BP=0000 SI=0000 DI=0000 +||命令|備考|h 
-   DS=17C4 ES=17C4 SS=17C4 CS=17C4 IP=0107 NV UP EI PL NZ AC PO NC +|転送系|[[MOV&gt;NASK/8086/命令/MOV]]|転送・代入など等| 
-   16ビットであれば、上位16ビットがDX、下位16ビットがAXの32ビットと演算され +|~|xchg|| 
-   商はAXに、余りはDXレジスタに格納 +|~|push|スタックにレジスタ・メモリの値を積む| 
-   17C4:0100 MOV AX , FFFF +|~|pop|スタックからレジスタ・メモリの値を取り出す| 
-&nbsp;   17C4:0103 MOV DX , 0001 +|~|pushf|スタックにフラグレジスタを積む| 
-   17C4:0106 MOV WORD PTR [0200] , 100 +|~|popf|スタックからフラグレジスタへデータを取り出す|
-   17C4:010C DIV WORD PTR [0200+
-   17C4:0110 +
-   -G =100 110+
-   AX=01FF BX=0000 CX=0000 DX=00FF SP=FFEE BP=0000 SI=0000 DI=0000 
-   DS=17C4 ES=17C4 SS=17C4 CS=17C4 IP=0110 NV UP EI PL NZ AC PO NC 
-   idiv idiv dl 符号付割り算 
-   mul mov al , 50 
-   mov dl , 2 
-   mul dl ソースオペランドが8ビットの場合、 
-   ALレジスタとソースオペランドが乗算され 
-   その結果は、AX16ビットレジスタに格納されます 
-   ソースオペランドが16ビットの場合、 
-   AXレジスタとソースオペランドが乗算され 
-   その結果は、上位DX、下位AXとして、 
-   それぞれのレジスタに格納されます 
-   imul imul dl 符号付乗算 
-   sub sub ax,bx 減算 
-   sbb sbb ax,bx キャリー付き減算 
-   単純ジャンプ命令 
-   jmp jmp アドレス 無条件ジャンプ 
-   jc jc アドレス キャリーフラグがセットされていたらジャンプ 
-   jnc jnc アドレス キャリーフラグがセットされていなかったらジャンプ 
-   jcxz jcxz アドレス CXレジスタがゼロならジャンプ 
-   je 
-   jz je アドレス 
-   jz アドレス ゼロフラグがセットされていたらジャンプ 
-   jne 
-   jnz jne アドレス 
-   jnz アドレス ゼロフラグがセットされていなかったらジャンプ 
-   符号なし整数比較結果ジャンプ命令 
-   ja 
-   jnbe ja アドレス 
-   jnbe アドレス cmp op1 , op2 という命令で、op1 > op2 ならばジャンプ 
-   jb 
-   jnae jb アドレス 
-   jnae アドレス cmp op1, op2 という命令で、op1 < op2 ならばジャンプ 
-   jae 
-   jnb jae アドレス 
-   jnb アドレス cmp op1, op2 という命令で、op1 >= op2 ならばジャンプ 
-   jbe 
-   jna jbe アドレス 
-   jna アドレス cmp op1, op2 という命令で、op1 <= op2 ならばジャンプ 
-   符号あり整数比各結果ジャンプ命令 
-   jg 
-   jnle jg アドレス 
-   jnle アドレス cmp op1, op2 という命令で、op1 > op2 ならばジャンプ 
-   jl 
-   jnge jl アドレス 
-   jnge アドレス cmp op1, op2 という命令で、op1 < op2 ならばジャンプ 
-   jge 
-   jnl jge アドレス 
-   jnl アドレス cmp op1, op2 という命令で、op1 >= op2 ならばジャンプ 
-   jle 
-   jng jle アドレス 
-   jng アドレス cmp op1, op2 という命令で、op1 <= op2 ならばジャンプ 
-   ループ命令 
-   loop loop アドレス cx レジスタの値を1減じて、0になるまで繰り返す 
-   loope 
-   loopz loope アドレス 
-   loopz アドレス cx レジスタの値を1減じて、ゼロフラグがセットされている間繰り返す 
-   loopne 
-   loopnz loopne アドレス 
-   loopnz アドレス cx レジスタの値を1減じて、ゼロフラグがセットされていない間繰り返す 
-   コール命令 
-   call call bx プロシージャ呼び出し 
-   ret ret プロシージャから復帰 
-   論理演算命令 
-   and and al,04h al=al&0x04 
-   or or ax,88h ax=ax|0x88 
-   not not ax ax=~ax 
-   neg neg ax 符号反転命令 
-   xor xor ax,bx 排他的論理和命令 
-   test test ax,bx 論理和積テスト命令 
-   実際にはレジスタの値に変化なし 
-   スタック命令 
-   push push ax スタックへデータ退避 
-   pop pop ax スタックからデータ取り出し 
-   pushf pushf スタックへフラグを退避 
-   popf popf スタックからデータ取り出し 
-   フラグ操作 
-   std std ディレクションフラグをセット 
-   cld cld ディレクションフラグをクリア 
-   stc stc キャリーフラグをセット 
-   clc clc キャリーフラグをクリア 
-   cmc cmc キャリーフラグを反転 
-   cli cli 割り込みを禁止 
-   sti sti 割り込みを許可 
-   シフト命令 
-   shl shl ax,2 論理左シフト 
-   shr shr ax,1 論理右シフト 
-   sal sal ax,1 算術左シフト 
-   sar sar ax,1 算術右シフト 
-   ローテート命令 
-   rol rol ax,1 左ローテート 
-   ror ror ax,1 右ローテート 
-   rcl rcl ax,1 左キャリーローテート++計算系 
 +++add(足し算) 
 +++adc(足し算) 
 +++dec(デクリメント) 
 +++inc(インクリメント) 
 +++div(割り算) 
 +++idiv(割り算) 
 +++mul(掛け算) 
 +++imul(掛け算) 
 +++sub(引き算) 
 +++sbb(引き算)
-   rcr rxr ax,1 右キャリーローテート 
-   割り込み命令 ++比較系 
-   int int 21h +++cmp 
-   割り込み番号 割り込みの種類 + 
-   0 除算エラー(0で除算した場合) ++ジャンプ系 
-   1 シングルステップ +++jmp 
-   2 NMI割り込み +++jc 
-   3 ブレイク・ポイント割り込み +++jnc 
-   4 オーバーフロー割り込み +++jcxz 
-   21 MS-DOSシステムコール +++je 
-   iret iret 割り込みからの復帰+++jz 
 +++jz 
 +++jne 
 +++jnz 
 +++jnz 
 +++ja 
 +++jnbe 
 +++jnbe 
 +++jb 
 +++jnae 
 +++jnae 
 +++jae 
 +++jnb 
 +++jnb 
 +++jbe 
 +++jna 
 +++jna 
 +++jg 
 +++jnle 
 +++jnle 
 +++jl 
 +++jnge 
 +++jnge 
 +++jge 
 +++jnl 
 +++jnl 
 +++jle 
 +++jng 
 +++jng 
 + 
 + 
 ++ループ系 
 +++loop 
 +++loope 
 +++loopz 
 +++loopz 
 +++loopne 
 +++loopnz 
 +++loopnz 
 + 
 ++サブルーチン系 
 +++call 
 +++ret 
 +++int 
 +++iret 
 + 
 + 
 + 
 + 
 + 
 ++論理演算系 
 +++and 
 +++or 
 +++not 
 +++neg 
 +++xor 
 +++test 
 + 
 + 
 ++フラグ操作系 
 +++std 
 +++cld 
 +++stc 
 +++clc 
 +++cmc 
 +++cli 
 +++sti 
 + 
 ++ビット操作系 
 +++shl 
 +++shr 
 +++sal 
 +++sar 
 +++rol 
 +++ror 
 +++rcl 
 +++rcr


Front page   Edit Diff Backup Upload Copy Rename Reload   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)
Counter: 4925, today: 1, yesterday: 0