Z80Pの論理設計

Z80PはZ80PLDを省略したものでPLDにZ80のプログラミ ングモデルを実装するための論理部品です。 チップの設計にZ80用に開発された多様なコンピュータ プログラム言語が使えるようになります。
 

Z80は8080を拡張した仕様なので命令体系も複雑で論理 設計においても全体の見通しが悪く大変でした。 しかし文書化では論理譜のどこで何をしているかをす ぐに探せるようにしました。

PDF

PDFの購入

ショッピングカート

 





 Z80Pの論理設計 







 
 論理設計によるZ80 




はじめに

PLD の容量を大きく使える場合には汎用のプロセッサを導入してチップ内の制御をプログラムで設計するこ ともできます。チップを効率的に使いたい場合や高速動作をさせたい場合の選択肢にはなりませんがプログラム で設計することに大きな容量を使ってよいのならZ80 を知らない設計者でもC 言語などによる設計が可能にな ります。Z80 の導入は電子部品のZ80 をPLD で実現することではなくZ80 のプログラムが動くプログラミン グモデルをPLD 内に構築することです。Z80 のコードを動かすための論理をプログラムと一緒にチップに内蔵 する論理設計を行います。

概要

図1.2A
FIG1P2A.jpg(10286 byte)

Z80 は8080 を拡張した汎用8 ビットプロセッサですから実用的なプログラムを書ける8080 まで仕様を小さ くすることもできます。Z80 の論理設計では仕様の拡張は行いませんが同じコードが実行できるだけの互換しか 考慮しません読み書きは1CLK で行いますがWAIT で制御可能にします。 Z80 の論理は手続きとして提供しますので別に設計した論 理と組み合わせて使用しますが手続きは 図1.2A のようなもの です。論理容量はCPLD には入らないが中小のFPGA には8 割程度の規模で納まると思います。



プログラミングモデル

8080 はA,B,C,D,E,H,L の7 個のレジスタを持っています。 Z80 は専用レジスタ形式に近いプロセッサですから演算は主に A レジスタを介して行います。A を除くレジスタは2 個を一組として16 ビットレジスタとして使えるため16 ビット操作が可能になっていますBC,DE,HL は16 ビットのメモリ番地を指定するインデックスレジスタにも なります。8080 は可変命令長の一部の16 ビットデータも操作可能な8 ビットプロセッサです。8080 もZ80 も 初期の実用的なマイクロプロセッサです当事はメモリの操作のための指定を豊富にすることや命令の種類を増や すことに注力されていましたZ80 もその方向で拡張されておりインデックスレジスタのIX とIY の2 本と豊富 な命令が追加されました。また従来の8080 のレジスタを表と裏の切り替え式で使えるようにしてレジスタ数を 増やしています。現在のプロセッサはC 言語などで書かれたプログラムが高速に低消費電力で実行することを 求められていますので新規に設計する場合はレジスタ数を増やしてメモリ操作を減らし最小限度の命令を実装し てプロセッサを単純にします。Z80 の場合は8080 を拡張した事情などもありレジスタ数は少ないが命令の種類 が多い複雑なプロセッサと言えます。

プロセッサについて

PLD の中でプログラムを動かすための論理設計を行いますが一般的なコンピュータの設計とは関係ありませ ん通常の論理設計の中にプログラムが実行できる環境としてのプロセッサを導入することでプログラムの設計環 境も大きな意味で論理設計に含まれると考えていますので論理設計のひとつの方法としてのプログラム設計であ りプログラムを動かすためのプロセッサの導入と考えています。

プログラムを動かすもの

プログラムを動かすとはプログラムカウンタが動いていると言うことでプロセッサの不可欠の要素はプログラ ムカウンタになります。プログラムで動く装置を要約するとプログラムによってプログラムカウンタの値を変え ながら無限に動いているものと言えます。よってプログラムカウンタの進む速度がプロセッサ全体の性能を左右 することになります。プロセッサの実行段階ではプログラムとはプロセッサの固有の命令の連なりです。プログ ラムカウンタはプロセッサが命令を順番に読み出すために動いています。プロセッサの持つ基本的な命令は演 算、データ移動、分岐であると思います特に分岐はプログラムが論理的に動くために必要です命令の多くは演算 やデータ移動ですプログラムはこれらの命令を連ねて求められた機能を果たします。

プログラムの基盤

プロセッサはプログラムの活躍の舞台になるわけですがどちらかと言うと裏方ですC 言語などでプログラム を組む場合にはプロセッサの持つレジスタや命令の種類などは知らなくてもよいからです。初期のプロセッサは 命令の種類を増やしてアセンブリ言語でのプログラムを小さく作りやすくしようとしていましたがユーザはC 言語などのプログラムに移行しておりコンパイラはどのプロセッサにもあるような命令を少なく使って構成して いたので過渡期のプロセッサは無用に大きくなってしまい方向が転換されました。マイクロプロセッサの誕生の きっかけは電卓用のプロセッサの命令の動作が複雑なためにプロセッサの設計に時間がかかるので命令の動作を 単純にしてプロセッサの設計を早期に終わらせてその変わりに複雑な電卓の動作の方は命令を連ねたプログラム に書けばよいと言う発想だったらしいです。期待される仕事に対して速度が十分なときはプロセッサの構造は単 純にしてプログラムの負担が大になり速度が不十分のときはプロセッサの構造を複雑にして対応すると言う繰り 返しになるようです。プロセッサが工場で生産されていたときはこのようなことであったと思いますが大量生産 品でなくなった場合にはどのようなことが言えるかはわかりません。

プログラムに提供する資源

データの置き場所であるレジスタやメモリ空間とデータ操作のためにプロセッサの持っている命令があります 他に命令の結果を記憶するフラグなどです。Z80 などの初期のプロセッサにはありませんがメモリ空間が大きく なるとメモリ管理の機構を持つものもあります。またプログラムを時分割で実行する機構を持つプロセッサもあ ります。これらはひとつのプロセッサに複数のプログラムを安全に実行するために設けられた機構なのですが PLD に実装するプロセッサの単体には必要のない機能だと思っています。PLD には容量の範囲なら複数のプロ セッサを実装できるので単純に個別のプロセッサの個別のメモリ空間に個別のプログラム実行させれば済むと思 われます。

命令符

命令を実行するためには命令符を検出して命令長と命令実行のCLK 数を特定して命令の実行行程を決定する 必要があります。

基本構造

命令符は実行される機能とその対象となるレジスタやメモリなどを示しています例えばLD r,(HL) の命令符 の 図1.5.1A の場合はr で示される0〜7 のレジスタのどれかにHL の値を番地にしたメモリの内容を読み出して記 憶する機能を表しています。

図1.5.1A LD r,(HL)
FIG1P5P1A.jpg(6998 byte)
図1.5.1B LD r,(IX+d)
FIG1P5P1B.jpg(12199 byte)


r の0〜7 は 表1.5.1A のレジスタに割り当てられています8080 では主にレ ジスタHL がメモリ番地を指定するインデックスレジスタに使われていま したがZ80 ではレジスタIX,IY が追加されたので追加されたレジスタを 使う同じ機能の命令のために8080 の元の命令を拡張する形での新たな命 令符の追加がなされています。

表1.5.1A レジスタ割り当て
TAB1P5P1A.jpg(7077 byte)

例えばLD r,(HL) の同じ働きのZ80 で追加された命令はLD r,(IX+d) などですが命令符の 図1.5.1B を見比べると2 番目の命令符はLD r,(HL) と 同じですレジスタIX の指定のために先頭に命令符が付けられています。


命令検出

表1.5.2A 追加1 段目分別
TAB1P5P2A.jpg(20994 byte)

Z80 の命令は8080 の命令と追加した命令からなります先頭のバイトが 追加した命令であることを示すのが 表1.5.2A のDDh,FDh,EDh,CBh の4 個 の値ですこの場合は次のバイトから機能を示す命令の種類を分別します。 表1.5.2A の分別信号の数値は z80code □ p の□の部分に当てて信号名になります。Z80 では命令の特定は表1.2 の先頭の拡張追加命令符のときは2 番目の命令符でそれ以外では1 番目の命令符で行えます。機能を示す命令 の分別を 表1.5.2B から 表1.5.2J に示します。表中の分別信号の数値は ancode □ p の□の部分に当てて信号名にな ります。


表1.5.2B 1 段目分別(1/8)
TAB1P5P2B.jpg(51325 byte)
表1.5.2C 1 段目分別(2/8)
TAB1P5P2C.jpg(46786 byte)


表1.5.2D 1 段目分別(3/8)
TAB1P5P2D.jpg(47745 byte)
表1.5.2E 1 段目分別(4/8)
TAB1P5P2E.jpg(43373 byte)


表1.5.2F 1 段目分別(5/8)
TAB1P5P2F.jpg(46453 byte)
表1.5.2G 1 段目分別(6/8)
TAB1P5P2G.jpg(42852 byte)


表1.5.2H 1 段目分別(7/8)
TAB1P5P2H.jpg(53400 byte)
表1.5.2J 1 段目分別(8/8)
TAB1P5P2J.jpg(54455 byte)


命令の特定

命令の特定とは何も命令が実行されていないときに命令を検出して動作長と命令長と命令番号を決定するこ とを言います。動作長は命令を実行している時間を表しCLK 数で示します命令長は命令符の長さで読み取りの CLK 数で示します命令番号は検出した命令の種類を番号で示します命令の機能の実行に先立って命令符の長さ 命令の実行時間や命令の種類を最初に特定する必要があります。

リスト1.6A プログラムa
LST1P6A.jpg(6189 byte)

リスト1.6A のプログラムを例にして説明します。OUT (n),A は 2 バイトの命令符なので命令長は2 になります動作長は2 に なります命令番号は187 になります命令の特定点は 図1.6A の anct が0 から2 になったところです各命令の動作長、命令長、 命令番号は 表1.6A から 表1.6K に示します。


リスト1.6A プログラム動作a
FIG1P6A.jpg(36678 byte)

表1.6A 命令特定(1/10)
TAB1P6A.jpg(50157 byte)
表1.6B 命令特定(2/10)
TAB1P6B.jpg(48984 byte)


表1.6C 命令特定(3/10)
TAB1P6C.jpg(52113 byte)
表1.6D 命令特定(4/10)
TAB1P6D.jpg(41155 byte)


表1.6E 命令特定(5/10)
TAB1P6E.jpg(55459 byte)
表1.6F 命令特定(6/10)
TAB1P6F.jpg(56067 byte)


表1.6G 命令特定(7/10)
TAB1P6G.jpg(48369 byte)
表1.6H 命令特定(8/10)
TAB1P6H.jpg(36553 byte)


表1.6J 命令特定(9/10)
TAB1P6J.jpg(54072 byte)
表1.6K 命令特定(10/10)
TAB1P6K.jpg(47708 byte)


命令特定の行程

リスト1.6.1A プログラムb
LST1P6P1A.jpg(10187 byte)

命令符の形態で3 種類の行程があります先頭に 表1.5.2A のよう な拡張の命令符のない場合と1 個ある場合と2 個ある場合の3 種類です。命令の大分類では7 種類に分けられます先頭に拡張 命令符のない命令が1 種類、先頭に1 個の拡張命令符がある場 合が4 種類、先頭に2 個の拡張命令符がある場合の計7 種類で すこれらはexpinst に示します。拡張命令符では命令の特定が できないので特定できる命令まで読み進む必要がありますがそ の間は動作長と命令長は仮の値の10 を記憶しておきます拡張命令符が2 個ある場合は10→11 とします実効命 令符を読んだときに正規の値を記憶します。拡張命令符のあるプログラムを リスト1.6.1A にその動きを 図1.6.1A に示し ます。


図1.6.1A プログラム動作b
FIG1P6P1A.jpg(51475 byte)

動作長

動作長は命令の全行程を 網羅するもので命令の実行に必要なCLK 数で示しますが最短でも命令長以上になり ます動作長は命令の特定点で記憶されてCLK で 図1.6A のように順次減数されていきます0 になったときは命令 の実行を終了しています。

命令長

命令の種類によって長さは異なり最大で4 バイトになります命令長は命令の特定点で記憶されてCLK で 図1.6A のように順次減数されていきます0 になったときは命令の読み取り は終了しています命令符は命令長によって 図1.6.3A のように読み取られます。

図1.6.3A 命令読み取り
FIG1P6P3A.jpg(23248 byte)

命令番号

命令の種類は命令番号のinst に記憶します命令の機能の実行は命令番号に対応した 図1.6.4A から 図1.6.4B の命 令指標のinstp とcode0d からcode3d に記憶した命令符から選び出されます。

表1.6.4A 命令指標(1/2)
TAB1P6P4A.jpg(245037 byte)
表1.6.4B 命令指標(2/2)
TAB1P6P4B.jpg(19712 byte)

命令の実行

命令の特定によって種類と実行時間が分かった後はCLK 数で示された実行時間は命令の特定時に記憶された 値から順次減数されていきます命令の種類の instp. □ と実行時間のanct を照合することでその命令の時系 列の各位置の処理を決定して実行し実行時間の終了時には命令の機能を達します処理とは次のものがあります。

これらを順番にあるいは並行して行います。

演算

演算は3 種類の演算器で集約して行います3 種類の演算器はビット数で分けてあり4 ビット、8 ビット、16 ビットがあります。

基本構造

どの演算器も基本の構造は同じですが入力部、演算部、出力部の3 個の部分から構成します。演算部は必要な 演算の数だけありますa とb の2 個の入力部と1 個の出力部は選択器になっていて命令の種類によって選択し た値を演算部に入力して選択した演算部の演算値を出力します。

4ビット演算器

2 進化10 進数の計算によるフラグH を変化させるためにあります演算部は加算、桁上げ加算、減算、桁借り 減算の4 種類を持ちます。

4ビット加算を必要とする命令

4ビット減算を必要とする命令

4ビット桁上げ加算を必要とする命令

4ビット桁借り減算を必要とする命令

入力a にレジスタA を使う命令

入力a を1 にする命令

入力a を-1 にする命令

入力b を8 ビットレジスタから選ぶ命令

入力b を8 ビット即値からとる命令

入力b をメモリからとる命令

入力b を1 にする命令

NEG だけです。

8ビット演算器

算術演算の加算、減算、桁上げ加算、桁借り減算の4 種類と論理演算の論理積、論理和、排他的論理和の3 種 類とビット移動の7 種類の計14 種類の演算部を持ちます。

8ビット加算を必要とする命令

8ビット減算を必要とする命令

8ビット桁上げ加算を必要とする命令

8ビット桁借り減算を必要とする命令

8ビット論理積を必要とする命令

8ビット論理和を必要とする命令

8ビット排他的論理和を必要とする命令

移動a を必要とする命令

移動b を必要とする命令

移動c を必要とする命令

移動d を必要とする命令

移動e を必要とする命令

移動f を必要とする命令

移動g を必要とする命令

入力a にレジスタA を使う命令

入力a を1 にする命令

入力a を-1 にする命令

入力a を8 ビットレジスタから選ぶ命令

入力a を仮記憶0 からとる命令

入力a をメモリからとる命令

入力a にレジスタB を使う命令

入力b を8 ビットレジスタから選ぶ命令

入力b に8 ビット即値をとる命令

入力b をメモリからとる命令

入力b を仮記憶0 からとる命令

入力b を1 にする命令

入力b をビット操作値1 にする命令

入力b をビット操作値0 にする命令

16 ビット演算器

加算

減算

桁上げ加算

ADC HL,ss だけです。

桁借り減算

SBC HL,ss だけです。

入力a にレジスタHL を使う命令

入力a にレジスタIX を使う命令

入力a にレジスタIY を使う命令

入力a を1 にする命令

入力a を16 ビットレジスタから選ぶ命令

DEC ss だけです。

入力b を16 ビットレジスタから選ぶ命令

入力b にレジスタIX を使う命令

INC IX だけです。

入力b にレジスタIY を使う命令

INC IY だけです。

入力b を1 にする命令

Aレジスタ

8ビットの演算を記憶する命令

ADD A,r

リスト1.9.1.1A ADD A,r
LST1P9P1P1A.jpg(18620 byte)
図1.9.1.1A ADD A,r
FIG1P9P1P1A.jpg(42429 byte)


ADD A,n

リスト1.9.1.2A ADD A,n
LST1P9P1P2A.jpg(4571 byte)
図1.9.1.2A ADD A,n
FIG1P9P1P2A.jpg(27424 byte)


ADD A,(HL)

リスト1.9.1.3A ADD A,(HL)
LST1P9P1P3A.jpg(8029 byte)
図1.9.1.3A ADD A,(HL)
FIG1P9P1P3A.jpg(48887 byte)


ADD A,(IX+d)

リスト1.9.1.4A ADD A,(IX+d)
LST1P9P1P4A.jpg(9462 byte)
図1.9.1.4A ADD A,(IX+d)
FIG1P9P1P4A.jpg(57604 byte)


ADD A,(IY+d)

リスト1.9.1.5A ADD A,(IY+d)
LST1P9P1P5A.jpg(10922 byte)
図1.9.1.5A ADD A,(IY+d)
FIG1P9P1P5A.jpg(38455 byte)


SUB r

リスト1.9.1.6A SUB r
LST1P9P1P6A.jpg(18882 byte)
図1.9.1.6A SUB r
FIG1P9P1P6A.jpg(43774 byte)


SUB n

リスト1.9.1.7A SUB n
LST1P9P1P7A.jpg(4222 byte)
図1.9.1.7A SUB n
FIG1P9P1P7A.jpg(35335 byte)


SUB (HL)

リスト1.9.1.8A SUB (HL)
LST1P9P1P8A.jpg(7187 byte)
図1.9.1.8A SUB (HL)
FIG1P9P1P8A.jpg(45615 byte)


SUB (IX+d)

リスト1.9.1.9A SUB (IX+d)
LST1P9P1P9A.jpg(8209 byte)
図1.9.1.9A SUB (IX+d)
FIG1P9P1P9A.jpg(47050 byte)


SUB (IY+d)

リスト1.9.1.10A SUB (IY+d)
LST1P9P1P10A.jpg(6497 byte)
図1.9.1.10A SUB (IY+d)
FIG1P9P1P10A.jpg(47426 byte)


SBC A,r

リスト1.9.1.11A SBC A,r
LST1P9P1P11A.jpg(18218 byte)
図1.9.1.11A SBC A,r
FIG1P9P1P11A.jpg(43865 byte)


SBC A,(HL)

リスト1.9.1.12A SBC A,(HL)
LST1P9P1P12A.jpg(6915 byte)
図1.9.1.12A SBC A,(HL)
FIG1P9P1P12A.jpg(45628 byte)


SBC A,(IX+d)

リスト1.9.1.13A SBC A,(IX+d)
LST1P9P1P13A.jpg(7814 byte)
図1.9.1.13A SBC A,(IX+d)
FIG1P9P1P13A.jpg(47495 byte)


SBC A,(IY+d)

リスト1.9.1.14A SBC A,(IY+d)
LST1P9P1P14A.jpg(7551 byte)
図1.9.1.14A SBC A,(IY+d)
FIG1P9P1P14A.jpg(46941 byte)


AND r

リスト1.9.1.15A AND r
LST1P9P1P15A.jpg(19905 byte)
図1.9.1.15A AND r
FIG1P9P1P15A.jpg(40606 byte)


AND n

リスト1.9.1.16A AND n
LST1P9P1P16A.jpg(4380 byte)
図1.9.1.16A AND n
FIG1P9P1P16A.jpg(26537 byte)


AND (HL)

リスト1.9.1.17A AND (HL)
LST1P9P1P17A.jpg(8085 byte)
図1.9.1.17A AND (HL)
FIG1P9P1P17A.jpg(37938 byte)


AND (IX+d)

リスト1.9.1.18A AND (IX+d)
LST1P9P1P18A.jpg(6683 byte)
図1.9.1.18A AND (IX+d)
FIG1P9P1P18A.jpg(40932 byte)


AND (IY+d)

リスト1.9.1.19A AND (IY+d)
LST1P9P1P19A.jpg(8945 byte)
図1.9.1.19A AND (IY+d)
FIG1P9P1P19A.jpg(43526 byte)


OR r

リスト1.9.1.20A OR r
LST1P9P1P20A.jpg(15555 byte)
図1.9.1.20A OR r
FIG1P9P1P20A.jpg(39227 byte)


OR n

リスト1.9.1.21A OR n
LST1P9P1P21A.jpg(4916 byte)
図1.9.1.21A OR n
FIG1P9P1P21A.jpg(30564 byte)


OR (HL)

リスト1.9.1.22A OR (HL)
LST1P9P1P22A.jpg(7524 byte)
図1.9.1.22A OR (HL)
FIG1P9P1P22A.jpg(39327 byte)


OR (IX+d)

リスト1.9.1.23A OR (IX+d)
LST1P9P1P23A.jpg(8399 byte)
図1.9.1.23A OR (IX+d)
FIG1P9P1P23A.jpg(47548 byte)


OR (IY+d)

リスト1.9.1.24A OR (IY+d)
LST1P9P1P24A.jpg(7409 byte)
図1.9.1.24A OR (IY+d)
FIG1P9P1P24A.jpg(41489 byte)


XOR r

リスト1.9.1.25A XOR r
LST1P9P1P25A.jpg(14749 byte)
図1.9.1.25A XOR r
FIG1P9P1P25A.jpg(37008 byte)


XOR n

リスト1.9.1.26A XOR n
LST1P9P1P26A.jpg(4138 byte)
図1.9.1.26A XOR n
FIG1P9P1P26A.jpg(35813 byte)


XOR (HL)

リスト1.9.1.27A XOR (HL)
LST1P9P1P27A.jpg(6980 byte)
図1.9.1.27A XOR (HL)
FIG1P9P1P27A.jpg(44823 byte)


XOR (IX+d)

リスト1.9.1.28A XOR (IX+d)
LST1P9P1P28A.jpg(8713 byte)
図1.9.1.28A XOR (IX+d)
FIG1P9P1P28A.jpg(41600 byte)


XOR (IY+d)

リスト1.9.1.29A XOR (IY+d)
LST1P9P1P29A.jpg(8197 byte)
図1.9.1.29A XOR (IY+d)
FIG1P9P1P29A.jpg(41988 byte)


CPL

リスト1.9.1.30A CPL
LST1P9P1P30A.jpg(3613 byte)
図1.9.1.30A CPL
FIG1P9P1P30A.jpg(28807 byte)


NEG

リスト1.9.1.31A NEG
LST1P9P1P31A.jpg(4742 byte)
図1.9.1.31A NEG
FIG1P9P1P31A.jpg(36691 byte)


INC A

リスト1.9.1.32A INC A
LST1P9P1P32A.jpg(6882 byte)
図1.9.1.32A INC A
FIG1P9P1P32A.jpg(42769 byte)


DEC A

リスト1.9.1.33A DEC A
LST1P9P1P32A.jpg(6882 byte)
図1.9.1.33A DEC A
FIG1P9P1P32A.jpg(42769 byte)


RLCA

リスト1.9.1.34A RLCA
LST1P9P1P34A.jpg(10120 byte)
図1.9.1.34A RLCA
FIG1P9P1P34A.jpg(49116 byte)


RRCA

リスト1.9.1.35A RRCA
LST1P9P1P34A.jpg(10120 byte)
図1.9.1.35A RRCA
FIG1P9P1P34A.jpg(49116 byte)


RLA

リスト1.9.1.36A RLA
LST1P9P1P36A.jpg(8690 byte)
図1.9.1.36A RLA
FIG1P9P1P36A.jpg(51019 byte)


RRA

リスト1.9.1.37A RRA
LST1P9P1P36A.jpg(8690 byte)
図1.9.1.37A RRA
FIG1P9P1P36A.jpg(51019 byte)


RL A

リスト1.9.1.38A RL A
LST1P9P1P38A.jpg(11267 byte)
図1.9.1.38A RL A
FIG1P9P1P38A.jpg(54353 byte)


RR A

リスト1.9.1.39A RR A
LST1P9P1P38A.jpg(11267 byte)
図1.9.1.39A RR A
FIG1P9P1P38A.jpg(54353 byte)


RLC A

リスト1.9.1.40A RLC A
LST1P9P1P40A.jpg(12127 byte)
図1.9.1.40A RLC A
FIG1P9P1P40A.jpg(48259 byte)


RRC A

リスト1.9.1.41A RRC A
LST1P9P1P40A.jpg(12127 byte)
図1.9.1.41A RRC A
FIG1P9P1P40A.jpg(48259 byte)


SLA A

リスト1.9.1.42A SLA A
LST1P9P1P42A.jpg(12364 byte)
図1.9.1.42A SLA A
FIG1P9P1P42A.jpg(49637 byte)


SRL A

リスト1.9.1.43A SRL A
LST1P9P1P42A.jpg(12364 byte)
図1.9.1.43A SRL A
FIG1P9P1P42A.jpg(49637 byte)


SRA A

リスト1.9.1.44A SRA A
LST1P9P1P44A.jpg(13573 byte)
図1.9.1.44A SRA A
FIG1P9P1P44A.jpg(49735 byte)


SET b,A

リスト1.9.1.45A SET b,A
LST1P9P1P45A.jpg(9200 byte)
図1.9.1.45A SET b,A
FIG1P9P1P45A.jpg(49080 byte)


RES b,A

リスト1.9.1.46A RES b,A
LST1P9P1P45A.jpg(9200 byte)
図1.9.1.46A RES b,A
FIG1P9P1P45A.jpg(49080 byte)