我正在尝试创建软件延迟。这是我正在做的示例程序:
Address Data Opcode Comment
1800 06 LD, B Load register B with fix value
1801 “ “ Fixed value
1802 05 DEC, B Decrement value in register B
1803 C2 JP cc Jump to 1802 if value is not 0
1804 02 - Address XX
1805 18 - Address XX
我的问题是如何计算加载到寄存器 B 所需的固定值,以便将值递减到 0 的过程需要 2 秒?
在我的手册中,运行指令的时间基于 4MHz CPU,但我使用的 Z80 CPU 的速度为 1.8MHz。知道如何计算吗?谢谢。PS这里是手册中的递减(DEC)和跳转(JP cc)说明:
Instruction M Cycles T states 4 MHz E.t
DEC r 1 4 1.00
JP cc 3 10 (4,3,3) 2.50