Putting things at an absolute address requires putting things into
segments that are handle by the linker or loader (depending on what era
you are working in).
the linker may place the output of your assembler into different
segments. They may be set up to be relocatable at run time (most OSs
insist on this feature).
Once you are dealing with either a debugger or loader, or OS you have to
find out how to get that segment assigned to the space you desire in the
absolute addressing space.
Usually the assembler will have directives to direct things to I/O or
such depending on the architecture.
I'd use this info to see if you have any luck figuring out what you need
to do.
you didn't mention whether this is a cross assembly tool, or if you have
a working Z8000 OS with the tool.
Others may infer that by knowing more about the things you refer to.
however working Z8000 systems running an OS are a bit rare these days.
thanks
Jim
On 11/13/2015 12:06 PM, Oliver Lehmann wrote:
Hi,
I found out so far, that %3e00.... means, that the data is put on
segment 62 (0x3e). Regarding to the Z8000 ASM handbook, segmented
adresses are notated as <<segment>>offset, so in my case
<<62>>%F600 - but of course it does not work and the assembler
yields and error :(
Oliver Lehmann <lehmann at ans-netz.de> wrote:
Hi,
is someone on the list able to write Z8000 PLZ/ASM code? I have an
the following source:
u module
$segmented
$abs %3E00F600
global
_u array [%572 byte]
end u
The problem is, that it is vital that _u has to be located absolute
on the virtual memory address 0x3E00F600. The problem is now, that
the while the object is compiled, _u is available on 0x0100f600 and
I have no clue why.....