Date : Tue, 28 Nov 1989 19:23:02 GMT
From : mcsun!unido!cosmo2!tilmann%cosmo.UUCP@uunet.uu.net (Tilmann Reh)
Subject: ZSID Question
Is it true? Does really NOONE of you know the LDDR command of Z80?
It's quite unbelievable for me,
so here is a lesson in Z80 Assembler Programming:
The LDDR command
- takes the byte from address (HL)
- puts it to the address (DE)
- decrements BC, DE and HL
- until BC is zero.
So the tiny program of "ashepps" will take all memory from 0100h (including)
to 6100h (including, too) and move it up to 0200h to 6200h. Nothing else,
and especially no down-move!
The LDDR command is used instead of the LDIR command cause the segment is
overlapping in the high-part.
The 'G0' command is indeed the system reboot command (just as ^C, but better
for batch file use). SAVE 32 will also save the memory from 0100h to 20FFh,
as mentioned by jay maynard.
The function of that batchfile depends on the original length of PROG.COM:
If it's more than 8k, the generated file will be unchanged.
Else, the file will lengthened up to 8k, and the added part will be a copy
of the original (moved up by 100h), plus eventually some old stuff that was
in memory that time.
I can't imagine what kind of purpose that batchfile could have.
But surely it has nothing to do with the BIOS, as someone guessed before.