解決済みの質問
マイコンz80 についての質問というか、これがあっているか確認お願いします。 問 ...
マイコンz80 についての質問というか、これがあっているか確認お願いします。
問
8100番地、8101番地、8102番地の内容を比較し大きい順に並び替えよ
http://iphone.80.kg/view/13273433279
0663.html
http://iphone.80.kg/view/132734320890393.html
↑はフローチャートと図です。
ORG 8000H
LD A,(8102H)
LD C,A
LD A,(8101H)
LD B,A
LD A,(8100H)
CP B
JP NC LBL
LD H,A
LD A,B
LD B,H
LBL:CP C
JP NC ,LBL2
LD H,A
LD A,C
LD C,H
LD H,C
LD C,B
LD B,H
JP ,LBL3
LBL2:CP B
LD H,A
LD C,H
JP NC LBL3
LD H,B
LD B,C
LD C,H
LBL3:LD(8100H),A
LD(8101H),B
LD(8102H),C
HALT
END
なにか間違えている箇所があれば指摘しどう違うのか教えてください。
- 補足
- なんか、URLにスペースが空いていてうまく標準されなかったですな…
正しくはこちら
http://iphone.80.kg/view/132734332790663.html
-
- 質問日時:
- 2012/1/30 14:06:38
-
- 解決日時:
- 2012/2/14 11:12:43
-
- 回答数:
- 1
-
- お礼:
- 知恵コイン
- 50枚
-
- 閲覧数:
- 82
-
- ソーシャルブックマークへ投稿:
- Yahoo!ブックマークへ投稿
- はてなブックマークへ投稿
- (ソーシャルブックマークとは)
ベストアンサーに選ばれた回答
>konomamaxさん
pasmoというz80アセンブラでエラー無しでz80コードに出来るようにデバッグしました。
動作確認はしていません。
修正箇所にはコメント入れてます。
--- ex1076.z80
ORG 8000H
LD A,(8102H)
LD C,A
LD A,(8101H)
LD B,A
LD A,(8100H)
CP B
JP NC ,LBL
JP Z ,LBL ; これを追加するかフロチャートの A>=B を A>B にする
LD H,A
LD A,B
LD B,H
LBL:CP C ; :全角なので半角:に
JP NC ,LBL2
JP Z ,LBL2 ; これを追加するかフロチャートの A>=C を A>C にする
LD H,A
LD A,C
LD C,H
LD H,C
LD C,B
LD B,H
JP LBL3 ; , を削除
; LBL2 CP B
; AとBの比較してます。 フロチャートでは BとCの比較
; BとCを直接比較する命令無いと思います。
; この時点でAが最大と決定してるのでAの内容を8100に書き込んで
; AにBの内容をコピーして AとCの比較処理にした方が良いと思います。
; 以下その方針で変更してます。
;LD H,A
;LD C,H
; LBL2
LBL2:LD(8100H),A ; 場所移動
LD A,B ; 追加
CP C ; 追加
JP NC ,LBL3 ; ,追加
JP Z ,LBL3 ; これを追加するかフロチャートの B>=C を B>C にする
LD H,A ; B->A
LD A,C ; B->A
LD C,H
;LBL3:LD(8100H),A
LBL3:LD(8101H),A ; B->A
; LD(8102H),C この命令無いので
LD A,C ; LD(8102H),C 置き換え1
LD(8102H),A ; LD(8102H),C 置き換え2
HALT
END
---
よろしくお願い致します。
- 違反報告
- 回答日時:2012/1/30 15:17:41
この質問は投票によってベストアンサーが選ばれました!
- この質問・回答は役に立ちましたか?
- 役に立った!
お役立ち度:
0人が役に立つと評価しています。

