アカウント名:
パスワード:
裏レジスタが使えたのはSHARPのセカンドソースと互換品のみ。
# MZ80系ならSP-1020で画面クリアして# 「ネ木1ネ木4→コ」「GOTO $DOOO」# でSAVEってのも懐かしい
裏レジスタじゃなくて拡張レジスタの方だっけ?ixhとかixlとか…
うろ覚えですが、Zilog本家では仕様に明記されていなかっただけで、Zilog純正Z80でもIXH/IXLなどは使えました。
Z80 では、HL レジスタに対して処理を行うオペコード XX に対し、DD XX で、HLの代わりに IX に対する処理FD XX で、HLの代わりに IY に対する処理になってました。(ただし、(HL) に対する命令の場合は、(IX+d)になるので、オペランドが一つ増える)
で、本来の命令セット仕様上は IX は16bitレジスタで、8bit単位で処理する命令は無かったのですが、HレジスタやLレジスタに対する命令の前にDD/FDを付けてやれば、IXやIYを8bit単位で処理できました。
さらに言うと、
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私は悩みをリストアップし始めたが、そのあまりの長さにいやけがさし、何も考えないことにした。-- Robert C. Pike
68系は (スコア:2)
80系は裏レジを使いこなす。
のがコツなんて古すぎて、誰もわからないか。
Re: (スコア:1, すばらしい洞察)
Re: (スコア:0)
裏レジスタが使えたのはSHARPのセカンドソースと互換品のみ。
# MZ80系ならSP-1020で画面クリアして
# 「ネ木1ネ木4→コ」「GOTO $DOOO」
# でSAVEってのも懐かしい
Re: (スコア:1)
一応、http://ja.wikipedia.org/wiki/Z80 を張っておきます。
Re: (スコア:0)
裏レジスタじゃなくて拡張レジスタの方だっけ?ixhとかixlとか…
Re: (スコア:1)
純正でもeZ80やZ280だとちゃんと使えるようになってますが。
Re: (スコア:1)
うろ覚えですが、Zilog本家では仕様に明記されていなかっただけで、
Zilog純正Z80でもIXH/IXLなどは使えました。
Z80 では、HL レジスタに対して処理を行うオペコード XX に対し、
DD XX で、HLの代わりに IX に対する処理
FD XX で、HLの代わりに IY に対する処理
になってました。(ただし、(HL) に対する命令の場合は、(IX+d)になるので、オペランドが一つ増える)
で、本来の命令セット仕様上は IX は16bitレジスタで、8bit単位で処理する命令は無かったのですが、
HレジスタやLレジスタに対する命令の前にDD/FDを付けてやれば、IXやIYを8bit単位で処理できました。
さらに言うと、
Re:68系は (スコア:1)
DD DD FD DD FD xx はどうなんでしょう? FD xx と一緒ですかね?
DD ED xxはどうなんでしょう?
このあたりは実験したことがないです。
Best regards, でぃーすけ
Re: (スコア:0)
同じテクニックを古いミニコンの資料でちらっと見た覚えがあります。
8086のプリフィックスバイトも同じような実装じゃないかな?