ここから本文です

解決済みの質問

マイコンz80 についての質問というか、これがあっているか確認お願いします。 問 ...

konomamaxさん

マイコン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

違反報告

ベストアンサーに選ばれた回答

buynnnmmm1さん

>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
---

よろしくお願い致します。

この質問は投票によってベストアンサーが選ばれました!

この質問・回答は役に立ちましたか?
役に立った!

お役立ち度:お役立ち度 0点(5点満点中)0人が役に立つと評価しています。

知恵ノートとは?

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。

お客様自身の責任と判断で、ご利用ください。

話題のキーワード

[カテゴリ:C言語関連]

ただいまの回答者

01時38分現在

2382
人が回答!!

1時間以内に4,335件の回答が寄せられています。

>>回答ひろばに行く


知恵コレに追加する

閉じる

知恵コレクションをするID/ニックネームを選択し、「追加する」ボタンを押してください。
※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。

ほかのID/ニックネームで利用登録する