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

Reply via email to