標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)
[第32回]

●フラグについて(続き)

前回8080のフラグについて、

わかった!納得。

と言う感じで書きましたが、まだ、少し…、だったので、もうどうでもよいことなのに、もう少しこだわってみました。

●Aフラグとは?

前回、命令とフラグの動作のところで、Aフラグというのは、何の略かわからない、と書きました。ビット位置からするとHalfCarryフラグのことなのですが…。

いろいろ海外のページを検索しているうちに、出てきました。
”AUXILIARY(補助の)”の略らしいです。
こんな単語は見たことが無い、のですけれど、どうもコンピュータでは普通に使われているようです。補助メモリとか補助装置とかというように…。
Auxiliary Carry Flagの略だったのですね。
でもやっぱりHalf Carry Flagの方がぴったりという感じがします。

●毛利のおっちゃんの名推理(その後)

おっちゃんの名推理によって、快刀乱麻を断つごとく、ばっさりと推理して、これにて一件落着、のはずだったのですが…。
考えなきゃあいいのに、また考えてしまいました(あ。名古屋ベンが出ちゃった)。

数値演算命令のP(parity)フラグ、8086ではどうなっているんだろう?

うーん。8086でも、数値演算命令にしっかり、P(parity)フラグがくっついているのですよ。

ということは、どういうわけか、あえてそこにこだわった(らしい)のは、Z80だけだった、ということになりそうです。
あちらのサイトで意味深な文をみつけてしまいました。

It was proposed too late in the design that the PARITY flag should double as an OVERFLOW flag. Although this feature didn't make it into the 8080, it did show up two years later in Zilog's Z-80.

”BELLBOOK”だかなんだかめちゃめちゃ膨大なドキュメントのサイトです(こんなの、とても、読んでられない)。
なので、出典として、参照元のページのリンクのみ示しておきます。
http://research.microsoft.com/~gbell/computer_structures_principles_and_examples/csp0637.htm

上記引用文で should の理由がわからない。いかにもワケアリのようですけれど、ではその後8086に採用されなかったのは、なぜなのでしょう?
8080には too late だったとしても、8086には遅すぎるわけがないと思うのですが…。

思うに(また、推理?)、ひとつにはIntelと嶋 正利氏の考え方の違い、があったのかも知れません。
Z80でParityフラグとOverFlowフラグを”あえて”重ねてしまったからには、かなり明確な意図があったに違いない、としか思えないからです。でもIntelにしてみれば、「そんなことは些細なこと」だったかも。

ALUというくらいですから(Arithmetic and Logic Unit)、多分、数値演算部分と論理演算部分は一体のものとして設計してしまうと思われるので、特別に意図しないで設計すれば、Parityフラグが当然のことのように数値演算命令でもset/resetされてしまうのかもしれません。

Parityフラグについては、私の思い込みもあって(ほらあ、やっぱり)、数値演算命令ではParityフラグなど何の役にも立たない、などといいましたが、これは言いすぎでした。

ANA AとかORA Aでパリティチェックをする代わりに、ANI 0、SBI 0でもパリティチェックはできますね。
でも2バイト必要になりますから、誰もこんなの使わないだろうなぁ。
INR、DCRに至っては、はてどう使うのだろう?といまだに首をかしげてしまいます。

ところで前出の8086ですが、算術演算命令でもParityフラグがset/resetされますが、16ビットの演算を行っても、Partyフラグは結果の下位8ビットをチェックするだけで、上位8ビットはチェックされません(やっぱりベースは論理演算なんだ)。

●また、メールをいただきました

長崎県のN.M様、メールを有難うございました。
いただいたメールによりますと、何でも10年ほど前に、「トランジスタ技術」に小さい広告が出ていて、”TTLでZ80”の動作をするボードが売られていた、とのことです。
かなり大きなボードで(そりゃそうでしょう)、CP/Mが走るとか…。

うーん。まさか、Z80をねぇ…。10年前に…。絶句。

…もう、8080など、作るの、止めてしまいましょうか、ねぇ。

それから、海外で、本格的な手作りコンピュータのサイトがあるのだそうで、その紹介もいただきました。
うーん。これもすごい。
http://www.homebrewcpu.com/

こちらはTTLを全部、ワイヤラッピングで!
ああ、なんだか、熱が出てきてしまったようで…。気が…、遠くなりそう。
なので、本日は、これにて、終わり!にいたします。
2008.8.9upload

前へ
次へ
ホームページトップへ戻る