ほびーずぺーじ(トップページへ戻ります)

丸投げw2010/01/28 18:44

 Z80なんて最近全く触ってないですが、質問と回答が素敵すぎますw。

 質問のインプット、アウトプットの意味が分かりません。各レジスタに値を入れるにしても、先頭と最終はEQUで定義すると書いていますし、アウトプットは何レジスタに何が入るんだろうか、OUTPUTを定義してそのアドレスにセットするんやろうか・・・。

 推測すると、HLに開始アドレス、DEに終了アドレス、メモリに書き込んだ値がカウンタの内容と正しかったらアウトプットのレジスタに00H、正しくなかったら01Hをセットするとかだったらまだ分かるのですが。

 この質問でメモリマップドI/O、I/OマップドI/Oも久々に思い出しました。

 今の学校でもZ80教えてるんでしょうか。

コメント

_ mkei ― 2010/01/29 01:40

2000 STARTA EQU 2000H
3000 ENDA EQU 3000H

.PHASE 0100H
0100 21 2000 LD HL,STARTA
0103 11 3000 LD DE,ENDA
0106 CD 010A CALL ENDCHK
0109 C9 RET

010A 01 0000 ENDCHK: LD BC,0

010D 70 LOOP: LD (HL),B ;COUNTER
010E 04 INC B
010F 23 INC HL
0110 EB EX DE,HL
0111 E5 PUSH HL
0112 B7 OR A
0113 ED 52 SBC HL,DE
0115 E1 POP HL
0116 EB EX DE,HL
0117 C2 010D JP NZ,LOOP
011A C9 RET

こんなところでしょうが…「チェックデータ」がわかりませんね。何チェックすれば良いんでしょうかね(笑)

_ えふおう ― 2010/01/29 23:43

アカン・・・もう忘れてますね。

EXも交換命令と言うのを忘れてて、一瞬何やってるんか分からなくなりましたw。

 スッキリしてますね。僕だったら多分かなり長くなると思いますw。ちょっとやってみたいですね。確かに何をチェックしたら良いのかが不明ですw。

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://efuou.asablo.jp/blog/2010/01/28/4841616/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。