Rocksolid Light

Welcome to Rocksolid Light

mail  files  register  newsreader  groups  login

Message-ID:  

Maybe it's time to break that. -- Larry Wall in <199710311718.JAA19082@wall.org>


devel / comp.lang.asm.x86 / Re: opcode x'66' on 8086

SubjectAuthor
* opcode x'66' on 8086Paul Edwards
`- opcode x'66' on 8086Paul Edwards

1
opcode x'66' on 8086

<28bf10d6-9e93-4cd7-b87c-b42453865ad1n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=440&group=comp.lang.asm.x86#440

  copy link   Newsgroups: comp.lang.asm.x86
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: mutazilah@nospicedham.gmail.com (Paul Edwards)
Newsgroups: comp.lang.asm.x86
Subject: opcode x'66' on 8086
Date: Mon, 1 May 2023 23:34:39 -0700 (PDT)
Organization: A noiseless patient Spider
Lines: 58
Approved: fbkotler@myfairpoint.net - comp.lang.asm.x86 moderation team.
Message-ID: <28bf10d6-9e93-4cd7-b87c-b42453865ad1n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Injection-Date: Tue, 02 May 2023 06:34:40 +0000
Injection-Info: dont-email.me; posting-host="42f85409ac187379c9a5c732c65448ed";
logging-data="692983"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18c5u2/MHhb9S46beT/estouRetPW2AIHw="
User-Agent: G2/1.0
Cancel-Lock: sha1:Ajc5nnrvl05A44ySe1Yjm5FFvZc=
 by: Paul Edwards - Tue, 2 May 2023 06:34 UTC

Hi.

I am interested in running 16-bit code in PM32.
I may simply run PM16 or CM16, but I'd like to
know if PM32 is an option (twice the number
of selectors).

I'm not definitely going to do this, I would just
like to know if it is definitively ruled out.

Assume a homebrew 8086 OS and a homebrew
80386 OS and a homebrew C compiler, and only
C-generated assembler will be used.

On PM32 you can do:

66 bb 44 33 MOV bx.imm16

Now my understanding is that the 66 override reverses
the default operand size. So it makes 16 bit within PM32
and 32 bit within PM16 and RM16.

BUT - that is only the case on an 80386 and above, right?

If I am using an 8086 or 80286 with no concept of 32-bit,
then even if I am in PM16 on an 80286, the x'66' will not
have any effect, right? Certainly not the effect that it has
on an 80386, anyway - right?

On an 8086 possibilities are:

1. x'66' crashes due to invalid opcode.
2. x'66' behaves as a noop.
3. x'66' acts as an alias to some other instruction,
e.g. x'56' or x'76', in the same way that x'82' was,
until 2000, an alias for x'80'.

Which of these is it?

Someone has recently shown up with a real 80286
computer (Compaq) and successfully booted PDOS/86
from a 360k floppy.

So I am now in a position to run a test assembler program
(masm syntax) on a real 80286. I don't have access to a
real 8086 at the moment.

Any suggestion on test code to answer which of the above
3 things the x'66' instruction is?

Or any other way to determine that?

Note that PDOS/86 has the ability to process int 3 and
int 1, so I can set a breakpoint and trace a single
instruction and see the registers.

Thanks. Paul.

Re: opcode x'66' on 8086

<6e1853ce-737f-49b7-bb01-69544b9a8318n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=441&group=comp.lang.asm.x86#441

  copy link   Newsgroups: comp.lang.asm.x86
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: mutazilah@nospicedham.gmail.com (Paul Edwards)
Newsgroups: comp.lang.asm.x86
Subject: Re: opcode x'66' on 8086
Date: Sat, 6 May 2023 02:27:12 -0700 (PDT)
Organization: A noiseless patient Spider
Lines: 19
Approved: fbkotler@myfairpoint.net - comp.lang.asm.x86 moderation team.
Message-ID: <6e1853ce-737f-49b7-bb01-69544b9a8318n@googlegroups.com>
References: <28bf10d6-9e93-4cd7-b87c-b42453865ad1n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Injection-Date: Sat, 06 May 2023 09:27:13 +0000
Injection-Info: dont-email.me; posting-host="cc3e241870e5c5cd996d9ce323a3a215";
logging-data="2958441"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18D9VZVjZdZcdH96JaKn+DokjXDFHwk7W8="
User-Agent: G2/1.0
Cancel-Lock: sha1:MAa+/ptpEPttaoVx8hC9hajhZio=
 by: Paul Edwards - Sat, 6 May 2023 09:27 UTC

On Tuesday, May 2, 2023 at 2:47:24 PM UTC+8, Paul Edwards wrote:

> On an 8086 possibilities are:
>
> 1. x'66' crashes due to invalid opcode.
> 2. x'66' behaves as a noop.
> 3. x'66' acts as an alias to some other instruction,
> e.g. x'56' or x'76', in the same way that x'82' was,
> until 2000, an alias for x'80'.
>
> Which of these is it?

Got an answer elsewhere. It is number 3 ...

All the 6x opcodes are aliases of the corresponding 7x (conditional jump) opcodes on 8086 and 8088.

BFN. Paul.

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor