Z8000 Assembler anyone?
jws at jwsss.com
Fri Nov 13 15:55:02 CST 2015
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
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.
On 11/13/2015 12:06 PM, Oliver Lehmann wrote:
> 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:
>> is someone on the list able to write Z8000 PLZ/ASM code? I have an
>> the following source:
>> u module
>> $abs %3E00F600
>> _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.....
More information about the cctech