This is my analysis from using nasm diss-assembler but I have to go to a job
so
won't be able to check it until tonight.
code from ipl.S to set up stack
mov ax, 0400
mov ss, ax
mov ax, 8000
mov es, ax
bit patterns of docipl from my build compared against masm docs
code my docipl masm doc
mov ax, 0400 b8, 00, 04 b8, 00, 04
mov ss, ax 8e, d0 8c, d0 <--
Differ
mov ax, 8000 b8, 00, 80 b8, 00, 80
mov es, ax 8e, c0 8c, c0 <--
Differ
from masm document:
mov ss, ax
----------------------------------------------------------------------------
--------
encoding 100011d0 mod,segment register, source register displacement
d=direction bit (1 = memory to reg, 0 = reg to reg) d = 0
so first byte according to masm doc is 0x8c not 0x8e
mod=mode bits, (a two register operation) mode = 11
segment register ss = 010
source register ax = 000
so second byte according to masm doc is 0xd0 which appears correct
NO displacement bytes
----------------------------------------------------------------------------
---------
can anyone varify this for me, it could be the problem or it may not
I need to check further and test run. but now I have to run myself
Regards
Brian