<<<    Index    >>>
5-5
DATA TYPES AND ADDRESSING MODES
5.2.2.Unsigned Integers
Unsigned integers are unsigned binary numbers contained in a byte, word, or doubleword.
Unsigned integer values range from 0 to 255 for an unsigned byte integer, from 0 to 65,535 for
an unsigned word integer, and from 0 to 2
32
 – 1 for an unsigned doubleword integer. Unsigned
integers are sometimes referred to as ordinals.
5.2.3.BCD Integers
Binary-coded decimal integers (BCD integers) are unsigned 4-bit integers with valid values
ranging from 0 to 9. BCD integers can be unpacked (one BCD digit per byte) or packed (two
BCD digits per byte). The value of an unpacked BCD integer is the binary value of the low half-
byte (bits 0 through 3). The high half-byte (bits 4 through 7) can be any value during addition
and subtraction, but must be zero during multiplication and division.
Packed BCD integers allow two BCD digits to be contained in one byte. Here, the digit in the
high half-byte is more significant than the digit in the low half-byte.
5.2.4.Pointers
Pointers are addresses of locations in memory. The Pentium
®
 Pro processor recognizes two types
of pointers: a near pointer (32 bits) and a far pointer (48 bits). A near pointer is a 32-bit offset
(also called an effective address) within a segment. Near pointers are used for all memory refer-
ences in a flat memory model or for references in a segmented model where the identity of the
segment being accessed is implied. A far pointer is a 48-bit logical address, consisting of a 16-bit
segment selector and a 32-bit offset. Far pointers are used for memory references in a segmented
memory model where the identity of a segment being accessed must be specified explicitly. 
5.2.5.Bit Fields
A bit field is a contiguous sequence of bits. It can begin at any bit position of any byte in
memory and can contain up to 32 bits.
5.2.6.Strings
Strings are continuous sequences of bits, bytes, words, or doublewords. A bit string can begin
at any bit position of any byte and can contain up to 2
32
 
–
 
1 bits. A byte string can contain bytes,
words, or doublewords and can range from zero to 2
32
 
– 1 bytes (4 gigabytes).
<<<    Index    >>>