我需要一些帮助来改进这个 8085 代码
I need some help improving this 8085 code
抱歉标题含糊不清,我正在尝试将 8085 sim 中的右侧从左移到右,反之亦然。我做到了,但我意识到 LED 正在以 "intermitences" 移动,而不是即时移动。我想删除那些间歇。
这是我的代码:
MVI A,80
OUT 00
DCH: RRC
OUT 00
CPI 01
JZ IZQ
JMP DCH
IZQ: RLC
OUT 00
CPI 80
JZ DCH
JMP IZQ
DCH在右,IZQ在左
我不了解你的模拟器,但我假设模拟器在 I/O 端口 0 (out 0
) 模拟了一个连接了 8 个 LED 的 8 位锁存器。
您想像 this animation in Wikipedia 那样实现双向追踪。
如果您使用带有真实 8085、真实锁存器和真实 LED 的真实设置,您的代码应该可以完美运行。
但是,在这种情况下,您必须使用非常非常低的 CPU 频率。即使使用 1 kHz(标称频率的 1/2000)的 CPU 频率,程序也会 运行 如此之快,以至于您需要高速摄像机来观察 LED。
抱歉标题含糊不清,我正在尝试将 8085 sim 中的右侧从左移到右,反之亦然。我做到了,但我意识到 LED 正在以 "intermitences" 移动,而不是即时移动。我想删除那些间歇。
这是我的代码:
MVI A,80
OUT 00
DCH: RRC
OUT 00
CPI 01
JZ IZQ
JMP DCH
IZQ: RLC
OUT 00
CPI 80
JZ DCH
JMP IZQ
DCH在右,IZQ在左
我不了解你的模拟器,但我假设模拟器在 I/O 端口 0 (out 0
) 模拟了一个连接了 8 个 LED 的 8 位锁存器。
您想像 this animation in Wikipedia 那样实现双向追踪。
如果您使用带有真实 8085、真实锁存器和真实 LED 的真实设置,您的代码应该可以完美运行。
但是,在这种情况下,您必须使用非常非常低的 CPU 频率。即使使用 1 kHz(标称频率的 1/2000)的 CPU 频率,程序也会 运行 如此之快,以至于您需要高速摄像机来观察 LED。