HP E2444A User Manual page 37

80386dx/dxl preprocessor interface for hp 1650a, hp 1650b, hp 1652b, hp 1660a/61a, hp 16510a, hp 16510b, hp 16511b, hp 16540/16541a,d, hp 16542a, and hp 16550a
Table of Contents

Advertisement

Analyzing the Intel 80386DX/DXL
2-14
Asterisks (*) in the inverse assembler output indicate that a portion (or
portions) of an instruction was not captured by the analyzer. Missing
opcodes occur frequently and are primarily due to microprocessor
prefetch activity. Storage qualification, or the use of storage windows,
can also lead to such occurrences.
The 80386DX/DXL has two possible default operand/address sizes, 16
or 32 bits. This attribute is set when a code segment descriptor is
loaded, and is impossible for the inverse assembler to detect.
Therefore, it must be declared manually by selecting the correct field
under the "Invasm" pop-up. Any instruction with an operand size of 32
bits (either by default, or by using the operand override prefix) will be
marked with an "= " symbol in the last column of the 80386DX/DXL
mnemonic field to help you distinguish 32-bit operands from 16-bit
operands.
If the inverse assembler seems to be disassembling incorrectly, and the
problem is neither prefetch activity nor storage qualification, it is likely
that the size attribute is set incorrectly.
The 80386DX/DXL microprocessor can perform byte, word, and
three-byte transfers, as well as double-word transfers between
microprocessor registers and memory. Byte transfers can occur in any
byte on the 32-bit data bus. Word and three-byte transfers can occur
across any contiguous set of bytes that will hold the transfer. The bytes
that are valid in a transfer are indicated by the microprocessor BE0#
through BE3# lines. The inverse assembler will display "xx" (don't
care) for the bytes of a transfer that are ignored by the microprocessor.
In this way it is possible to determine exactly which bytes were used by
the microprocessor. For example:
xxxxxxDBH
read memory
xxxx28xxH
read memory
xxB3xxxxH
read memory
ECxxxxxxH
read memory
xxxx28DBH
read memory
xxB328xxH
read memory
ECB3xxxxH
read memory
xxB328DBH
read memory
ECB328xxH
read memory
ECB328DBH
read memory
(Byte transfer on byte 0)
(Byte transfer on byte 1)
(Byte transfer on byte 2)
(Byte transfer on byte 3)
(Word transfer on lower word)
(Word transfer on middle word)
(Word transfer on upper word)
(3-byte transfer on lower three bytes)
(3-byte transfer on upper three bytes)
(Double-word transfer)
80386DX/DXL Preprocessor Interface
HP E2444A

Advertisement

Table of Contents
loading

Table of Contents