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

あなたは

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

アセンブラ入門内検索

目次
アセンブラトップ
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の世界〜


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



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

トップ-> アセンブラ入門:4章.分岐-> 4-2.比較命令

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



4-2.比較命令

  条件分岐を行うためには、何か条件を指定しなければならない。アセンブラでの 条件の指定は基本的にフラグしかない。今までは足し算、 引き算でフラグを見てきた。しかし何か条件を見て分岐させたいのは、そういった 演算結果の直後とは限らない。そこで必要になってくるのが比較命令である。 アセンブラでの比較命令はたった1つしかない。それが「CMP」命令である。
CMP	SRC1,SRC2

   動作:SRC1 - SRC2
  影響を受けるフラグ:OF,SF,ZF,AF,CF,PF
    SRC1:レジスタ、メモリー
    SRC2:レジスタ、メモリー、即値(ただしメモリー、メモリーの組み合わせは除く)
  「動作」を見るとわかるように、やっていることは「SUB」命令と同じように、 引き算を行っているだけである。しかし引き算の結果は破棄され、フラグの結果だけが 残る。これにより、SRC1,SRC2の大きさを比べることができる。例えば、同じ値ならば ZF=1になるし、SRC1の方が小さければSF=1になり、SRC1の方が大きければSF=0と いった具合である。このフラグの結果を見て、次のページで 説明する、条件分岐で分岐するわけである。

  条件分岐ではフラグを見るわけであるから、比較命令の直後に条件分岐命令 が置かれるわけであるが、場合によってはフラグの変化しない「MOV」命令などが 置かれることもある。


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