Mikkel L. Ellertson wrote:
Cameron Simpson wrote:
On 02Jun2008 02:09, Gene Heskett <gene.heskett@xxxxxxxxxxx> wrote:
| Jump tables scattered around in your code, taking up valuable space
cuz the | darned thing doesn't have a conditional long branch ability,
just for starters.
Hmm. I don't seem to recall needing jump tables, but perhaps my code
was smaller than yours. In fact, I've got some z80 code right here [...]
The long jump JP command allows conditionals. The 8080 might not have;
I never used that, either. I did have a Z80 macro for measuring the
length of the jump and using a JR instead of a JP where possible, but
JPs definitely allowed conditions.
The 8080/8085 had jump to an absolute address, with or with out
conditions, but did not have the jump relative that the Z80 did. So even
for a jump of 126 bytes away, you had to use the 3 byte jump instructions.
The Z80 had:
JR idx(unconditional)
JR Z,idx (jump relative if zero)
JR NZ,idx (jump relative if non-zero)
JR C,idx (jump relative if carry)
JR NC,idx (jump relative if non-carry)
And one of my favorites for loops:
DJNZ idx (decrement and jump relative if non-zero)
So, yes, the Z80 had conditional relative jumps. It also had that nice
set of secondary registers...very handy for interrupt processing.
----------------------------------------------------------------------
- Rick Stevens, Systems Engineer rps2@xxxxxxxx -
- Hosting Consulting, Inc. -
- -
- Lottery: A tax on people who are bad at math. -
----------------------------------------------------------------------
--
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list