
マイコンボードACTーZIIを用いて実験を行ったのですがステート数を用いて命令時間の求め方がわかりません。
CPUはZ-80、クロック周期4MHzを用いて以下のプログラムの実行回数とステート数を求めたのですがあっているのでしょうか?
だれか、教えてください。
まちがっていた場合、詳しく説明していただけるとうれしいです。
ラベルニーモニック ステート数 実行回数小計(命令時間)
LD A, 0FFH717
OUT (00H), A10110
LD B, 0EH717
L1:LD C, 0B1H717
L2:DEC C 4312
JP NZ, L210330
DEC B 4312
JP NZ, L11010100
LD A, 00H414
OUT (00H), A10110
LD B, 0EH414
L3:LD C, 0B1H414
L4:DEC C 4312
JP NZ, L410330
DEC B 4312
JP NZ, L31010100
JP 8000H1046460
合計 11992821

No.2ベストアンサー
- 回答日時:
Z80 ですか。
気付いた点を。数字がくっついていて見づらい(HTMLで半角スペースは画面に出ません)ので手を加えると
LD A, 0FFH 7 1 7 ←(1)
OUT (00H), A 10 1 10
LD B, 0EH 7 1 7
L1:LD C, 0B1H 7 1 7
L2:DEC C 4 3 12
JP NZ, L2 10 3 30 ←(2)
DEC B 4 3 12
JP NZ, L1 10 10 100 ←(3)
LD A, 00H 4 1 4 ←(4)
OUT (00H), A 10 1 10
LD B, 0EH 4 1 4 ←(5)
L3:LD C, 0B1H 4 1 4 ←(6)
L4:DEC C 4 3 12
JP NZ, L4 10 3 30 ←(7)
DEC B 4 3 12
JP NZ, L3 10 10 100 ←(8)
JP 8000H 10 46 460
というところでしょうか。
>LD A, 0FFH 7 1 7 ←(1)
とは、「Reg.A に値0FFHをロード」、ステート数 7、
実行回数1、計7ステート数7
ということですね。
因みにマシンコードは 3E,FF(計2Byte) の方だと思います。
>JP NZ, L2 10 3 30 ←(2)
>JP NZ, L1 10 10 100 ←(3)
>JP NZ, L4 10 3 30 ←(7)
>JP NZ, L3 10 10 100 ←(8)
は、回数が変です。
(2)(7)は事前に Reg.C に値 0B1H をセットしてるので 0B1H=177回、
(3)(8)は同様に Reg.B に値 0EH をセットしてるので 0EH=14回のはず。
>LD A, 00H 4 1 4 ←(4)
>LD B, 0EH 4 1 4 ←(5)
>L3:LD C, 0B1H 4 1 4 ←(6)
はステート数は4じゃないでしょ。
命令第1バイトは読込むだけで4ステート、第2バイト以降は3ステート要ります。
一部例外ありますが。
(ここでは蛇足でしょうが、ハードがウェイトステートを挿入してればその分プラス)
それ以上の合計数などは検証してません。
話のついでに。
Reg.A に値00Hをセットする場合に限り、
XOR A
を使う手があります。これだと1Byte命令でその分「高速」で「メモリ節約」になります。
ただしフラグが影響受けます。
No.1
- 回答日時:
>LD A, 0FFH717
は多分
LD A,(nn) コード 3A×××× クロック13
の事を言っているんだと思います、4MHzですから1/4μSでクロック13ですから13/4μSが命令時間です717って何なのか判りません。
Z80が出た時にしばらく使っていただけなのでだいぶ忘れています、こちらを参照したほうが良いと思います。
http://www.alles.or.jp/~thisida/nd3setumeisyo/nd …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 避妊 【避妊】【アフターピル】【低用量ピル】 先日コンドームをつけて性行為をしましたが 終わった後にコンド 1 2023/01/06 00:53
- 妊活 最近夜の仕事を始めたものです。 先日コンドームをつけてお客様と性行為をしましたが 終わった後にコンド 2 2023/01/07 01:58
- 避妊 最近夜の仕事を始めたものです。 先日コンドームをつけてお客様と性行為をしましたが 終わった後にコンド 2 2023/01/07 02:02
- ヤフオク! 未だにレーザーディスクを欲しがる人が 5 2023/03/18 12:38
- 避妊 【アフターピル】【ピル】【避妊】 フリウェルldを服用しています。 今日の夕方、シートの最後の一粒( 1 2022/12/01 21:27
- 避妊 【低用量ピル】【避妊薬】 低用量ピルについて質問です。 22歳女性です。 高校生の頃から生理痛が酷く 2 2023/04/09 15:25
- 避妊 【避妊】【アフターピル】【低用量ピル】 先程コンドームをつけて性行為をしましたが 終わった後にコンド 1 2023/01/02 22:57
- その他(コンピューター・テクノロジー) クロック周波数が4GHzのCPUは,4クロック1命令処理できると仮定した場合,1秒間に何回の処理が可 2 2023/01/11 18:59
- 避妊 【低用量ピル】【避妊薬】 低用量ピルについて質問です。 22歳女性です。 高校生の頃から生理痛が酷く 1 2023/05/02 17:38
- Excel(エクセル) 時間差を求めるマクロコードを教えてください。 4 2022/05/17 18:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ページフォールトを発生させる...
-
+=と÷=の処理速度の謎を教え...
-
なぜ、i++なのか?(ものすごく...
-
任天堂64の64 CPUの仕...
-
G4 って Pentium でいうとどの...
-
組み込みCプログラムで実数型
-
【有効数字について】 授業で、...
-
1KBは、2の8乗X1000ではない...
-
携帯電話の略語であるMBって英...
-
新聞1ページは何バイトですか?...
-
GB と Gbの違いの意味
-
KBのMB違いって
-
かけ算(わり算)と足し算(引き算...
-
実行計画の「COST」と「BYTE」...
-
文字の容量(サイズ)についての...
-
KBとMB
-
1秒は何ミリ秒とか、単位変換の...
-
ffftpのサイズの単位は何でしょ...
-
Excel_VBAで改行コードの無いフ...
-
文字数(バイト数)の数え方が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラム言語FortranとCの違...
-
arduino
-
組み込みCプログラムで実数型
-
COM1(RS232C)とUSB仮想COMポー...
-
H8Sで割り込み発生時の飛び先ア...
-
64ビット化による処理速度低下...
-
任天堂64の64 CPUの仕...
-
MFCのエディットボックス上書き...
-
アセンブリ言語で。
-
なぜ、i++なのか?(ものすごく...
-
PICマイコンのプログラムについ...
-
クロックの求め方
-
ビット数
-
VBAでのコントロール操作
-
Pentium 4とPentium Mの性能差...
-
+=と÷=の処理速度の謎を教え...
-
ステート数とは
-
MIPS と クロック周波数の換算方法
-
C言語についてです 整数nを入力...
-
ページフォールトを発生させる...
おすすめ情報