トップ->アセンブラ入門

あなたは

人目のアセンブラの受講生です。

アセンブラ入門内検索

目次
アセンブラトップ
0. はじめに

1. 基礎
   1. レジスタとは
   2. セグメントとは

2. MOV命令
   1. MOV命令
   2. コンパイル
   3. 即値の転送
   4. メモリーへの転送
   5. データ定義疑似命令
   6. 練習問題

3. 算術演算
   1. 符号なし演算と符号付き演算
   2. 足し算
   3. 練習問題
   4. フラグ
   5. 引き算
   6. かけ算
   7. わり算
   8. INC,DEC

4. 分岐
   1. 無条件分離
   2. 比較命令
   3. 条件分離
   4. 練習問題
   5. ループ
   6. サブルーチン
   7. スタックとは
   8. PUSH,POP
   9. 練習問題

5. 論理演算
   1. AND命令
   2. OR命令
   3. XOR命令
   4. NOT命令
   5. NEG命令
   6. TEST命令
   7. 練習問題

6. シフト演算
   1. シフト
   2. ローテート
   3. 練習問題1
   4. 練習問題2

7. ストリング命令
   1. ストリング命令とは
   2. MOVS?
   3. REP
   4. DFの設定
   5. LODS?
   6. STOS?
   7. SCAS?
   8. CMPS?
   9 .練習問題

8. 入出力
   1. 概要
   2. IN命令
   3. OUT命令
   4. INS,OUTS命令

9. その他
   1. LEA
   2. XCHG
   3. NOP

10. 割り込み
   1. 割り込みとは
   2. ソフトウェア割り込み
   3. ハードウェア割り込み
   4. 割り込みベクター
   5. 割り込み処理の作り方
   6. 練習問題

11. レジスタの型変換(キャスト)

12. 卒業試験
   1. 卒業試験
   2. 画像データの格納形式
   3. インラインアセンブラ
   4. ネガポジ反転
   5. 明るくする、暗くする
   6. グレースケール
   7. 二値化
   8. 上下反転、左右反転
   9. 4分割
   10. モザイク
   11. シャープ
   12. ぼかし
   13. エンボス
   14. ディザ拡散
   15. 鉛筆を置いてください

13. 終わりに

文字コード

アセンブラ 〜MS-DOSの世界〜


・ このページの先頭に戻る
・ トップページに戻る



・ このページの先頭に戻る
・ トップページに戻る

トップ-> アセンブラ入門:3章.算術演算-> 3-6.かけ算

←前ページへ :  トップへ :  次ページへ→



3-6.かけ算

  足し算、引き算では、足す数(引き数)および足される数(引かれる数)は自由に指定が できた。しかし、かけ算、わり算では、かけられる数(割られる数)は決まっており、 変更できない。(80286以下) またかける数(割る数)は即値は使用できない。(80286以下)

  かけ算、わり算は比較的新しい命令で、8086以前のCPUや初期のRISCと呼ばれる CPUには無かった命令で、技術的にも困難な命令であったからであるが、技術の 進歩した現在のCPU(80386以上)ではかける数(割る数)、かけられる数(割られる数) ともにメモリーなどが使用できるようになっている。本ホームページでは8086 シリーズと言うことで、8086でも動くアセンブラを対象としているので、 それらについては省く。

MUL	SRC

   動作:符号なし整数の乗算
          SRC = 1byte  :  AX←AL×SRC
          SRC = 1word  :  DX:AX←AX×SRC
          SRC = 1dword :  EDX:EAX←EAX×SRC
  影響を受けるフラグ : OF,SF,ZF,AF,CF,PF
    SRC :レジスタ、メモリー

IMUL	SRC

   動作:符号付き整数の乗算
          SRC = 1byte  :  AX←AL×SRC
          SRC = 1word  :  DX:AX←AX×SRC
          SRC = 1dword :  EDX:EAX←EAX×SRC
  影響を受けるフラグ : OF,SF,ZF,AF,CF,PF
    SRC :レジスタ、メモリー

  オペランドが8bitの場合は結果は16bitレジスタのAXに代入される。 オペランドが16bitの場合は結果が32bitになり、上位16bitはDXに、下位16bitはAXに 代入される。オペランドが32bitの場合は、結果の上位32bitがEDXに、下位32bitが EAXに代入される(80386以上)。


←前ページへ :  トップへ :  次ページへ→