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

あなたは

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

アセンブラ入門内検索

目次
アセンブラトップ
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-3.条件分岐

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



4-3.条件分岐

  さて、前のページでも書いたように、アセンブラでの条件分岐は 基本的にフラグによって行われる。したがって、高級言語のように「○○かつ××」とか、 「○○または××」といったような複合条件での分岐はできない。かならずひとつずつ 条件を指定しなければならず、複数の条件の場合は、1つの条件を組み合わせなければならない。

  まず、基本でない(フラグによる条件でない)条件分岐を見てみる。 なぜ基本でないものからかというと、簡単で命令数がすくないからである。

JCXZ	DEST
   動作:CXレジスタが0ならばジャンプする

JECXZ	DEST   (80386以降)
   動作:ECXレジスタが0ならばジャンプする
  条件分岐では、前ページの「無条件分岐」で説明した、 「short」と「near」がある。ただし、「near」は80386以降で追加され、80286以前の CPUでは「short」のみである。ただし、DESTは即値(ラベル)のみしか使用できない。 これは今後出てくる条件分岐命令すべてにあてはまる。

  さて、この「JCXZ」「JECXZ」の用途であるが、まぁ、機能が機能だけに、 きちんと動けば別にどんな用途に用いても良いわけだが、 「LOOP」命令と併せて用いるのが一般的である。「LOOP」命令とは、 CX回またはECX回処理を繰り返す命令であるが、CX=0の時は65536回(ECX=0の時は232回) 繰り返してしまう。これを回避するために用いるのが一般的である。


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