Hangs after "Loading" but before "Uncompressing"
Manfred Spraul
manfreds en colorfullife.com
Jue Ene 27 19:18:49 CST 2000
"Richard B. Johnson" wrote:
>
> Well! We went over this two years ago. The problem is that segment
> overrides are specifically excluded for the LODS, LODSB, LODSW, and
> LODSD instructions on the '486. (Page 16-203, Intel Rag called
> Intel 486 Microprocessor Family, Programmer's Reference Manual).
I assume you mean Chapter 26. LODS is described on page 204 in my
edition of that book.
> This comes about (shown on page E-23) because the sreg field
> is two bits on some instructions and 3 bits on others. Three
> bits allows FS and GS segments to be specified, two bits allows
> only the ES, CS, DS, and SS segments. The sreg field in the
> LODxx instruction does not exist! (page E-9).
Of course:
* "sreg2" and "sreg3" are _only_ used in instructions that reference a
segment register explicitely (push gs, etc)
* normal instructions use a prefix, ie an additional byte in front of
the actual instruction. If you check Chapter E, you'll notice that
neither "add", nor "mul", nor "xchg",... accept an "sreg{2,3}" field,
but all of them could be combined with segment prefixes. That's
described in Chapter 26.2 [page 26-3].
* Chapter 3.6.2 of the 486 is identical to the chapter about the Pentium
that I quoted in my last mail.
* I used "CS: LODSW" on an 8088, that never crashed ;)
--
Manfred
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo en vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/
Más información sobre la lista de distribución Ayuda