Date : Sat, 03 Aug 2013 11:21:10 +0100
From : dl.harper@... (David Harper)
Subject: 16-bit x86 assembler
I should have remembered this when I first read your email a couple of
months ago, but I just thought of answering your question. I have just
been going through some old disks and images, and found some things I
had tucked away and forgotten about.
I do have the original source of the 80186 ROM if it would be of any use
to you. I can let you have this if you like. I don't want to put it on
the list, both for size and for copyright reasons, but I can email you a
copy direct if you wish (plus anyone else who asks).
I am not totally sure which version it is. It is called "yet another
version 1.00", and also referred to as "1.00d" which matches the ROM I
have, but these indicators were not always kept fully up-to-date between
versions. There wasn't much change, though.
Acorn let Robin Burton have this when he was writing the "Master 512
Technical Guide", and he passed it onto me while I was doing some things
for his "Essential Software".
Sorry for not remembering earlier.
David Harper
On 9/6/13 13:22, J.G.Harston wrote:
> I'm recreating the source for the 80x86 CoPro client ROM[1]. I was
> using the 80x86 assembler in BBC BASIC for Windows, but as it's a 32-bit
> assembler it emits 32-bit opcodes to run in a 32-bit environment, for
> instance:
>
> mov bx,&0033 gives 66 BB 33 00
>
> instead of what I require:
>
> mov bx,&0033 gives BB 33 00
>
> changing register names to ebx, etc., gives the correct opcodes for
> register-to-register operations, but the above then gives the 32-bit
> sequence:
>
> mov bx,&0033 gives BB 33 00 00 00
>
> The source is too big to load into DOS BBC BASIC which has a 16-bit
> assembler. Are there any 16-bit x86 assemblers that people could
> recommend, either to run on RISC OS or DOS/Windows? Ta.
>
> [1]http://mdfs.net/Software/Tube/80186/v100.src
>