M1 blinking in a NOP loop #126
Replies: 3 comments 1 reply
-
As NOP only uses the M1 cycle I'd expect what you describe (always on) but I'd need to test on actual hardware to confirm. I believe the block move opcodes were added for the Z-80, on it I'd use a block move to fill memory. Without a block move opcode I can't think of a way to do a full memory fill with NOPs. I'm not an expert with 8080 assembly (or even Z80) so there may be something I'm missing. |
Beta Was this translation helpful? Give feedback.
-
Hi Neil, Another thing I noticed and which is kind of a bug in the imsai8080 replica to me, is that when you "examine next" , it always briefly blinks the led with the value of RAM adress 0000h. Again I'm no expert and I'm not lucky enough to have a real imsai, but I wonder if the real thing does that, or if it's just the imsai replica, or even if there is a complex reason for this to happen ( but the real question is rather ; does the real deal do it as well, imho) |
Beta Was this translation helpful? Give feedback.
-
NOP is an instruction, doesn't matter if it has arguments or not. Each instruction fetch starts an M1 cycle, and so the LED is blinking when you run one NOP after another. The trick how to fill the whole memory with 0 is shown in the Altair notes somewhere. |
Beta Was this translation helpful? Give feedback.
-
Hello everyone,
I'm playing with machine language, keying programs.
I wrote a simple program to wipe out (zero out) all memory (after running it, I have to erase the last remaining instructions manually)
So I end up with a memory full of zeroes (NOP). I'm running the NVS "000" mode (64Kb, no boot rom, no ghosting, no nothing - as simple as it can be)
I was wondering why, if I RUN this "program" full of NOPs, the M1 LED is blinking, as if it was "sometimes" hitting a place where M1 should be off, which should simply not happen in my case. (NOP is an instruction without arguments and should have M1 on)
This is probably an oddity of this beeing a simulation, maybe even the real thing would not blink in the same situation, or maybe there is a detail I have yet to understand (and if so - i'd be curious to know)
Sub question, after much thinking, I think it is impossible to write a program that would erase all the ram + erase itself. Am I right ?
Thanks for taking the time to answer these very weird questions !
Beta Was this translation helpful? Give feedback.
All reactions