Microsoft Word - マイコン実験 doc

Similar documents
ソフトウェア基礎技術研修

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

PowerPoint プレゼンテーション

Microsoft Word - 実験4_FPGA実験2_2015

計算機アーキテクチャ

PowerPoint プレゼンテーション

1 8 Z80 Z GBA ASIC 2 WINDOWS C 1

命令セットの構成例 a) 算術 演算命令 例 )ADD dest, source : dest dest + source SUB dest, source : dest dest - source AND dest, source : dest dest AND source SHR reg, c

スライド 1

コンピュータ工学Ⅰ

コンピュータ工学Ⅰ

Microsoft PowerPoint - 7.Arithmetic.ppt

スライド 1

PowerPoint プレゼンテーション

問 2. タイミングチャート以下に示す VHDL コードで記述されている回路に関するタイミングチャートを完成させよ ) レジスタの動作 use IEEE.std_logic_64.all; entity RegN is generic (N : integer := 8 port ( CLK, EN

コンピュータの仕組み(1)ハードウェア

スライド 1

C に必要なコンピュータ知識 C はコンピュータの力を引き出せるように設計 コンピュータの知識が必要

2ALU 以下はデータ幅 4ビットの ALU の例 加算, 減算,AND,OR の4つの演算を実行する 実際のプロセッサの ALU は, もっと多種類の演算が可能 リスト 7-2 ALU の VHDL 記述 M use IEEE.STD_LOGIC_1164.ALL; 00 : 加算 use IEE

スライド 1

出 アーキテクチャ 誰が 出 装置を制御するのか 1

スライド 1

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

Microsoft PowerPoint pptx

PowerPoint プレゼンテーション

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

Microsoft PowerPoint - 工学ゼミⅢLED1回_2018

スライド 1

Microsoft PowerPoint - 3.3タイミング制御.pptx

スライド 1

PowerPoint プレゼンテーション

ガイダンス 2

C プログラミング 1( 再 ) 第 5 回 講義では C プログラミングの基本を学び演習では やや実践的なプログラミングを通して学ぶ

Microsoft PowerPoint - 11Web.pptx

Microsoft PowerPoint - ProcML-12-3.ppt

主記憶の使われ方 システム領域 SP スタックポインタ システム用 スタック用 プログラム起動時に OS によって確 保される (SP が決められる ) プログラム用 メインルーチン プログラム領域 命令コードの列定数 変数用領域サブルーチン命令コードの列 先頭番地は リンク時に OS によって決め

Microsoft PowerPoint LC_15.ppt

目次 [ はじめに ] 1 [1] レジスタについて 1 [2] 8ビット転送命令 1 1. MOV 1, MOV,M 2 3. MOV M, 2 4. MVI,B MVI M,B LDAX B 2 7. LDAX D 2 8. LDA NN 2 9. STAX

授業のあとで 情報処理工学 : 第 3 回 10 進数を 16 進数に変換する方法と 16 進数を 10 進数に変換する方法は 標準的な方法でも良いですか? 履修申告は済みましたか? 割り算 方法 ) 54 余り 6 16 ) 3 余り 3 ) 0 第 4 回へ 201

ソフトウェア基礎技術研修

回路 7 レジスタ ( 同期イネーブル及び非同期リセット付 ) 入力データを保持するのに用いる記憶素子 使用用途として, マイクロプロセッサ内部で演算や実行状態の保持に用いられる Fig4-2 のレジスタは, クロック信号の立ち上がり時かつ 信号が 1 のときに外部からの 1 ビットデータ R をレ

計算機ハードウエア

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

スライド 1

Microsoft PowerPoint - Chap3 [Compatibility Mode]

計算機アーキテクチャ

この方法では, 複数のアドレスが同じインデックスに対応づけられる可能性があるため, キャッシュラインのコピーと書き戻しが交互に起きる性のミスが発生する可能性がある. これを回避するために考案されたのが, 連想メモリアクセスができる形キャッシュである. この方式は, キャッシュに余裕がある限り主記憶の

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

Microsoft PowerPoint - No3.ppt

PowerPoint プレゼンテーション

スライド 1

スライド 1

スライド 1

CMOS リニアイメージセンサ用駆動回路 C CMOS リニアイメージセンサ S 等用 C は当社製 CMOSリニアイメージセンサ S 等用に開発された駆動回路です USB 2.0インターフェースを用いて C と PCを接続

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O)

ex04_2012.ppt

- VHDL 演習 ( 組み合せ論理回路 ) 回路 半加算器 (half adder,fig.-) 全加算器を構成する要素である半加算器を作成する i) リスト - のコードを理解してから, コンパイル, ダウンロードする ii) 実験基板上のスイッチ W, が, の入力,LED, が, の出力とな

三菱電機マイコン機器ソフトウエア株式会社

スライド 1

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt

ソフトウェア基礎技術研修

データ収集用 NIM/CAMAC モジュールマニュアル 2006/5/23 目次 クレート コントローラ CC/ NIM ADC 1821 (Seiko EG&G)...3 ADC インターフェイス U デッドタイム

TULを用いたVisual ScalerとTDCの開発

Microsoft PowerPoint - Chap4 [Compatibility Mode]

< B8CDD8AB B83685D>

Microsoft PowerPoint - OS07.pptx

Microsoft Word - FCTT_CS_Mod( )Jver1.doc

スライド 1

Microsoft PowerPoint - 01-VerilogSetup-2019.pptx

計算機ハードウエア

スライド 1

PowerPoint Presentation

目次 1. はじめに 1 2. マルチALUプロセッサ MAP MAP の構成 MAP 命令セットアーキテクチャ 並列 連鎖判定のアルゴリズムについて 5 3. Booth 乗算のアルゴリズム 次 Booth アルゴリズム 次 Bo

CCD リニアイメージセンサ用駆動回路 C CCD リニアイメージセンサ (S11155/S ) 用 C は 当社製 CCDリニアイメージセンサ S11155/S 用に開発された駆動回路です S11155/S11156-

また RLF 命令は 図 2 示す様に RRF 命令とは逆に 各ビットを一つずつ 左方向に回転 ( ローテイト ) する命令である 8 ビット変数のアドレスを A とし C フラグに 0 を代入してから RLF A,1 を実行すると 変数の内容が 左に 1 ビットシフトし 最下位ビット (LSB)

Microsoft PowerPoint - H2.ppt [互換モード]

JavaプログラミングⅠ

Microsoft PowerPoint LC1_14_論理回路シミュレータ.ppt

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

Microsoft Word - Ladder Tool 使çfl¨ã…žã…‰ã…¥ã‡¢ã…«ã…©ã…•ã…¼ã†ªã†Š_ docx

スライド 1

Microsoft Word - HW06K doc

スライド 1

Microsoft PowerPoint - 4回 [互換モード]

Microsoft Word - 19-d代 試é¨fi 解ç�fl.docx

Microsoft PowerPoint - kougi7.ppt

VLSI工学

PLCシリアル通信 MODBUS通信 データ送信/受信プログラム例

Microsoft PowerPoint - No6note.ppt

Microsoft PowerPoint - 6.memory.ppt

LAeq(LX)を10分毎に24時間繰り返し測定し自動保存する

プログラミング基礎

Microsoft Word - 4章.doc

前回の内容 マイクロコンピュータにおけるプログラミング PC上で作成 コンパイル マイコンに転送 実行 プログラムを用いて外部の装置を動作させる LED turnonled turnoffled LCD printf プログラムを用いて外部の装置の状態を読み取る プッシュスイッチ getpushsw

ディジタル回路 第1回 ガイダンス、CMOSの基本回路

UNIX 初級講習会 (第一日目)

スライド 1

Microsoft PowerPoint - No7note.ppt

Transcription:

Ⅲ-2. マイクロコンピュータの実験 - 1 1. 目的 (1) 基本的なマイクロコンピュ-タの構成を学ぶとともに 各部の機能を理解する (2) マイクロコンピュ-タの機械語プログラムの理解を深める 2. マイクロコンピュ-タの動作図 1は 8ビットマイクロプロセッサ Z80 を用いたマイクロコンピュ-タシステムのブロック図である 以下に このマイクロコンピュ-タを例にとり 各部の動作を説明する 記憶部 中央処理部 入出力部 RAM 5116 (CPU) (I/O ポート ) ROM 2816A Z80 8255 クロック発生回路 図 1 実験システムのブロック図 (1)CPU CPUチップには アキュムレータ, 演算レジスタ, インデックスレジスタ, スタックポインタ, フラグレジスタ, プログラムカウンタなど種々のレジスタ群 ALU(Arithmetic and Logic Unit), 命令デコーダ, バス制御回路, 割込み制御回路および命令の解釈実行を進める制御回路などが集積されている このように CPUチップにはディジタルコンピュ-タの中心的な部分が収められており 主記憶および入力装置を接続するだけで簡単なコンピュ-タを構成できる Z80 の機械語は全部で 157 種類あり 8ビットのデ-タ転送 (LOAD) や加減算等の基本的な命令をはじめとして 16ビットの加減算 主記憶内でのブロック転送 一連のデ-タブロックの入出力などが用意されている (2) クロック発生回路 CPUチップでは クロック信号に同期してチップ内の各機能ユニットを動作させる このクロック信号は 外付けのクロック発生回路で供給する 実験 12

回路では 2つのNOT 回路と水晶振動子を用いて約 2.5MHz の信号を発生させている さらに必要に応じてこれを 1/4 に分周し high 周期と low 周期の長さを等しくして安定化したクロック信号を用いる この様子を図 2に示す C PUチップは クロック信号に同期して命令を実行するので 命令の実行速度はクロック信号の周波数によって決定される 例えば 8ビットデ-タのレジスタ間転送には4クロックサイクルが必要なので 614KHz のクロックを用いた場合 実行時間は 6.5μsec となる 図 2 クロック発生回路 (3)RAM,ROM ROM (Read Only Memory) とRAM (Random Access Memory) は ともに主記憶として用いられる半導体メモリである ROMは読み出し専用メモリであり 頻繁に利用され かつ変更されることのないプログラムやデ-タなどが記憶される また 主記憶は図 3に示す メモリ空間 の構成になっている しかし 実際の回路はデコード用 ICを省略して簡素化したアドレスデコードを行なっているので 800H 以上 (800H-7FFFH,8800H-FFFFH) のアドレスに対しては正しくデコードしない 0000H 07FFH メモリマップ I/O ポート ROM I/O A Port 00H B Port 01H 8000H RAM C Port 02H 87FFH Control Word 03H FFFFH 図 3 メモリ I/O 空間マップ 13

(4)I/Oポート I/Oポートは 8ビットの入出力用レジスタで 入出力装置とCPUチップ間のデ-タ転送を仲介する I/Oポートの主な役割は 入出力デ-タのバッファリング (Buffering) である I/Oポートの動作をデ-タ出力の場合について説明する CPUが出力命令を実行すると 出力デ-タは図 4に示すようにデ-タバス上のデ-タをポート内部のレジスタに取込み固定する 従って出力装置はI/Oポートのラッチ出力からデ-タを受取れば 任意の速度で動作することができる I/Oポート用 LSI(8255) には3つの独立した I/Oポート (Port A,B,C) と1つの制御レジスタ (control word) が集積されている 1つのシステムには複数のI/OポートLSIが使われているのが普通である 各ポートを識別するために主記憶と同様なアドレス付けを行なっている 図 1のシステムの場合は 図 3の8ビットの I/O 空間 を持つ Z80ではI/O 空間とメモリ空間は全く独立の空間である 例えばI/O 空間の 01H に入出力を行なっても 主記憶の 0001H には何も影響を与えない I/Oポートと主記憶が同一のアドレスバス デ-タバスを使いながら このように空間を分離できるのは CPUがバス制御信号 MREQ,IORQ によってバスを使い分けているからである なお実験回路ではI/O 空間のデコードも一部簡略化しているので 例えば8255のポートAは I/Oアドレス (*****000) で読出し書込みができる (* で示すビットは 0 でも 1 でもよい ) MREQ CPU ROM RAM アドレスバス データバス IORQ I/O ポート 図 4 I/O リード / ライト 14

3.Z80 アセンブラ プログラミング 3-1. アセンブラ記述のルールと機械語への変換方法次のプログラムはメモリ アドレス 8020H 番地の内容を 8021H 番地に移動するためのプログラムである まず 処理手順をニモニックで記述し その内容を解りやすくコメントで説明する 次にニモニック- 機械語変換表を利用して機械語に変換する ニモニック表記の段階ではプログラムを格納するメモリの番地 ( アト レス ) がまだ特定されていないため ラベル ( 適当な名前をつける ) を使用してそのプログラム位置を表し 機械語変換後は具体的なメモリ アドレスを指定する * 8020H のHは8020 が 16 進数 (Hexadecimal number) であることを表す ラベルニモニックコメントメモリアドレス機械語 LOOP1: LD A,(8020H) ;8020H 番地の内容をレジスタに格納 #0000 3A2080 LD (8021H),A ; レジスタの内容を 8021H に格納 322180 HALT ; 命令実行の停止 割り込み待ち 76 Z80 アセンブラで利用可能な命令には, 主に次のようなものがある a. ロード命令 ( レジスタやメモリの間でデータを移動する ) b. 算術論理演算命令 ( 加算 減算 論理和 論理積など ) c. シフト命令 ( 指定レジスタ内のデータをビット単位で移動 ) d. ジャンプ命令 ( プログラムの流れを条件に応じて変更する ) e. 入出力命令 ( スイッチの検査 LED の点灯などに利用 ) 3-2.Fレジスタとフラグ変化 Fレジスタは6つのフラグより構成され 演算命令やローテート命令 入出力命令などの実行結果によって変化する Cフラグは 最上位ビットからの桁上り 桁下がりにより或いはローテートシフトで変化する Zフラグは 実行結果がゼロになったときに 1 にセットされる Sフラグは 実行の結果が符号付算術演算の結果として負の数になったとき 1になる P/Vフラグは 命令によりパリティフラグとオーバーフローフラグに使い分ける Hフラグは 8ビット演算で下 4ビットからの桁上げ 桁下がりがあったとき1になる Nフラグは 加算系 減算系であるかによって変化する 15

3-3. 実験回路の使い方メモリアドレスは 4 桁で 16 進数 (0-9,A-F) で表される # X1 X2 X3 X4 H ( 例 #0058H, #80A2H) 最上位桁 X1 は 下記 4のスイッチで指定し (0 or 8) X2 は 0 に固定 下位 2 桁 X3 X4 は 6のスイッチと8プリセットにより指定 14 桁数字表示器 A,B は アドレスの下位 2 桁の値を表示 C,D は メモリ格納データ値 A B C D 2プログラムの実行スイッチプログラムの入力 確認時は 書込 / 読出 側にし プログラム実行時に 実行 側にする 4 メモリ切り替え ROM 側でアドレス上位が "0" RAM 側でアドレス上位が "8" となる例 )ROM 側にし 4 桁数字表示器が 1234 である時 アドレスは 0012H の指定 5 電源スイッチ 実行 書込 / 読出 3 リセットスイッチ 0 にする 書込 読出 6 命令変換スイッチ 7 書込読出 8 プリセット 9 クリア 10 書込読出制御スイッチ 図 5 マイクロコンピュータ実験回路 16

[ 実験の手順 ] A. プログラムの作成 ( 機械語への変換 ) 例 )LOOP1: LD A,(8020H) #0000 3A 20 80 LD (8021),A 32 21 80 HALT 76 B. プログラムの入力 1)2を書込 / 読出,4を ROM にし,5の電源スイッチをオンにする 2)10を書込にし, 書込表示 LED が点灯することを確認する 3) 書込読出制御の9クリアスイッチを押す 14 桁数字表示器の上位 2 桁 (X1X2) が 0 となることを確認する 4)6 命令変換スイッチで 3A を入力し,7 書込読出スイッチを押す *4)-10) の過程で14 桁数字表示器の状態を確認していくこと 5)6 命令変換スイッチで 20 を入力し,7 書込読出スイッチを押す 6)6 命令変換スイッチで 80 を入力し,7 書込読出スイッチを押す 7)6 命令変換スイッチで 32 を入力し,7 書込読出スイッチを押す 8)6 命令変換スイッチで 21 を入力し,7 書込読出スイッチを押す 9)6 命令変換スイッチで 80 を入力し,7 書込読出スイッチを押す 10) 6 命令変換スイッチで 76 を入力し,7 書込読出スイッチを押す 11) 10を読出にする C. プログラムの確認 1)2が書込 / 読出,4が ROM,10が読出であることを確認する 2)9クリアスイッチを押す 1の上位 2 桁が 00 となり, 下位 2 桁 (X3X4) にプログラムデータ ( 例の場合では 3A) が表示されていることを確認する 3)7 書込読出スイッチを押し,1の下位 2 桁にプログラムデータが順次表示されることを確認する ( 例の場合では,80 から 76 まで ) D. 実行前のメモリデータの確認 1)2が書込 / 読出,4が RAM,10が読出であることを確認する 1) メモリアドレス 8020H のデータを確認するには, 最上位が 8 -> 4を RAM, 下位 2 桁が 20 -> 6で 2 0, 次に8のプリセットを押す 1の上位 2 桁が 20 となり, 格納されているメモリデータが1の下位 2 桁に表示される * 表示されるデータを記録しておくこと 17

E. プログラムの実行 1)10が読出になっていることを確認する 2)2を実行側にし,3のリセットスイッチを 1 度押す F. 実行後のメモリデータの確認 D. 実行前のメモリデータの確認と同様に 対象になっているメモリデータの値を確認し 記録する 4. 実験 4-1. メモリアドレス 8020H 番地と 8021H 番地に 55H の値を格納する * 以下の予習 1~3 を行った方は実験前に見せて下さい [+10 点 ] 予習 1 以下のプログラムを機械語に変換せよ < ラベル >< ニモニック > < アドレス >< 機械語 > START: LD A,55H #0000H 3E ( ) LD (8020H),A #0002H 32 20 80 LD (8021H),A #0005H ( )( )( ) HALT #0008H 76 実験 1 プログラム ( 機械語データ ) の入力と確認 2 実行前のメモリ 8020H と 8021H の内容を確認し 下表に記録 3 プログラム実行後 メモリの内容を確認し 下表に記録 * メモリデータの記録実行前実行後 8020H 8021H 18

4-2.8020H 番地から 807FH 番地までに 00H の値を格納する ヒント 1 HL レシ スタにより間接アドレッシングを行なう 2 条件付きジャンプ命令を利用する 例 ) LD B,05H LOOP1: XXXXX XXXXX LOOP1 のルーチンは 5 回 DEC B 繰り返される JP NZ,LOOP1 予習 2 以下のプログラムを機械語に変換せよ < ラベル >< ニモニック > < アドレス >< 機械語 > START: LD HL, 8020H #0000H ( ) 20 80 LD B, 60H #0003H 06 60 LD A, 00H #0005H 3E 00 LOOP1: LD (HL), A #0007H ( ) INC HL #0008H 23 DEC B #0009H ( ) JP NZ,LOOP1 #000AH ( ) 07 00 HALT #000DH 76 実験 1 プログラム ( 機械語データ ) の入力と確認 2 実行前のメモリ 8020H から 807FH までの範囲で5 箇所の内容を確認し 下表に記録 3 プログラム実行後 メモリの内容を確認し 下表に記録 * メモリデータの記録アドレス実行前実行後 19

4-3.8020H 番地から 804FH 番地までの間に 00H から 2FH の値を格納する ヒント 14-2では 格納するデータ0がアドレス A に入っている この A のデータを増やしていくには? INC A 命令を利用する 28020H から 804FH までのメモリは 30H ある (10 進数では 48) 予習 3 下線部に適切な命令語または値を入れ プログラムを完成させよ START: LD HL,8020H LD LD A, 00H LOOP1: LD (HL), A INC HL DEC B JP NZ, LOOP1 実験 1 ニモニックから機械語への変換 2 プログラム ( 機械語データ ) の入力と確認 3 実行前のメモリ 8020H から 804FH までの範囲で5 箇所の内容を確認し 下表に記録 4 プログラム実行後 メモリの内容を確認し 下表に記録 * メモリデータの記録アドレス実行前実行後 20

4-4.8020H 番地の内容が 65H より 1) 大きい,2) 小さい,3) 等しいの判定を行い, その結果に基づいて 8021H 番地に 1)01H,2)02H,3)03H の値を格納する ヒント処理の流れをフローチャートで表すと以下のようになる 65H との比較を行うには比較命令 CP n を利用する方法がある Start (8020H) A > A:65 = < 01H (8021H) 02H (8021H) 03H (8021H) End START: LD A,(8020H) ; メモリ 8020H の内容を CP 65H ;65H とレジスタ A の比較 (A-65H の減算 ) JP Z,HITOSHI ; 減算 A-65H の結果がゼロなら HITOSHI へ JP C,TIISAI ; A-65H <0 ( 負 ) なら TIISAI へ JP OKII ; 無条件 (A-65H >0) なら OKII へ OKII: LD A,01H LD (8021),A HALT TIISAI: LD A,02H HITOSHI:LD A, 21

実験 1 ニモニックから機械語への変換 2 プログラム ( 機械語データ ) の入力と確認 3 実行前のメモリ 8020H と 8021H の内容を確認し 下表に記録 8020H のデータを変更するには メモリ切り替えスイッチを RAM 命令変換スイッチで 2,0 を押す プリセットボタンを押す 書込読出制御スイッチを書込み 命令変換スイッチで変更データを押す 書込み読出しボタンを押す 4 プログラム実行後 メモリの内容を確認し 下表に記録 * メモリデータの記録 <65H より大きい場合 > アドレス 実行前 実行後 8020H 8021H <65H より小さい場合 > アドレス 実行前 実行後 8020H 8021H <65H と等しい場合 > アドレス 実行前 実行後 8020H 65H 8021H 22

5. 課題 (1) 以下のプログラムは 10 進数を 16 進数に変換するためのものである 各行にコメントを追加し, レシ スタ A, B, C, D の最終的な値を示せ [+10 点 ] LP1: LD A,63H LD C,A AND F0H SRL A SRL A SRL A SRL A LD B,A LD A,00H LP2: DEC B JP M,LP3 ADD A,0AH JP LP2 LP3: LD D,A LD A,C AND 0FH ADD A,D HALT (2) 種々の RAM ROM について調べ ぞれぞれの長所 短所を示せ [+10 点 ] (3) マイクロコンピュータが組み込まれている製品を3つあげ, どのような目的で利用されているかをそれぞれ説明せよ [+10 点 ] 6. 参考図書 1) 太平洋工業株式会社, 制御用マイコン, 日刊工業新聞社,1994 2) 横田英一,Z80の使い方, オーム社,1989 23

代表的な Z80 命令語 [ ニモニック - 機械語変換表 ] No ニモニック 機械語 説明 ロード命令 LD A,n 3E n 8 ビット定数 n をレジスタ A に格納 LD (mn),a 32 n m レジスタ A の値をメモリ mn 番地に格納 LD A,(mn) 3A n m メモリ mn 番地の値をレジスタ A に格納 LD A,(HL) 7E レジスタ HL で指定するメモリの値をレジスタ A に格納 LD A,C 79 レジスタ C の値をレジスタ A に格納 LD B,n 06 n 8 ビット定数 n をレジスタ B に格納 LD B,A 47 レジスタ A の値をレジスタ B に格納 LD C,A 4F レジスタ A の値をレジスタ C に格納 LD D,A 57 レジスタ A の値をレジスタ D に格納 LD L,A 6F レジスタ Ano 値をレジスタ L に格納 LD HL,mn 21 n m 16 ビット定数 mn をレジスタ HL に格納 (m H,n L) LD (HL),A 77 レジスタ A の値を HL で指定のメモリに格納 算術論理演算命令 CP n FE n レジスタ A と 8 ビット定数 n を比較し ( 実際は A-n の減算 ) レジスタ F(Z フラグ,C フラグなど ) に結果を残す ADD A,n C6 n レジスタ A に 8 ビット定数 n の値を加える ADD A,D 82 レジスタ A にレジスタ D の値を加える ADD A,L 85 レジスタ A にレジスタ L の値を加える INC A 3C レジスタ A の値に1を加える INC HL 23 レジスタ HL の値に1を加える DEC B 05 レジスタ B の値を1 減らす AND n E6 n レジスタ A と 8 ビット定数 n の論理積をとり A に保存 XOR n EE n レジスタ A と n の排他的論理和をとり A に保存 シフト命令 SRL A CB 3F 最上位 0 づめ右 1ビットシフト C には最下位ビット保存 ジャンプ命令 JP mn C3 n m 無条件分岐 JP Z,mm CA n m Z フラグが1( ゼロ ) なら mn 番地へジャンプ JP NZ,mn C2 n m Z フラグが0( ゼロではない ) なら mn 番地へジャンプ JP C,mn DA n m C フラグが1( キャリー発生 ) なら mn 番地へジャンプ JP M,mn FA n m M フラグが1( マイナス ) なら mn 番地へジャンプ CPU コントロール HALT 76 CPU 動作停止 ビット操作命令 BIT 0,A CB 47 レジスタ A の 0 ビットを調べ Z フラグを設定 入出力命令 IN A,(n) DB n n 番地のポートから入力した値をレジスタ A に格納 OUT (n),a D3 n レジスタ A の値を n 番地のポートに出力 24