Intel 64 and IA-32 Architectures Software Developers Manual Volume 1, Basic Architecture

Vol. 1 4-1
CHAPTER 4
DATA TYPES
This chapter introduces data types defined for the Intel 64 and IA-32 architectures.
A section at the end of this chapter describes the real-number and floating-point
concepts used in x87 FPU, SSE, SSE2, SSE3 and SSSE3 extensions.
4.1 FUNDAMENTAL DATA TYPES
The fundamental data types are bytes, words, doublewords, quadwords, and double
quadwords (see Figure 4-1). A byte is eight bits, a word is 2 bytes (16 bits), a
doubleword is 4 bytes (32 bits), a quadword is 8 bytes (64 bits), and a double quad-
word is 16 bytes (128 bits). A subset of the IA-32 architecture instructions operates
on these fundamental data types without any additional operand typing.
The quadword data type was introduced into the IA-32 architecture in the Intel486
processor; the double quadword data type was introduced in the Pentium III processor
with the SSE extensions.
Figure 4-1. Fundamental Data Types
0
63
Double
0
Word
31
0
Doubleword
15
0
Byte
7
78
Low Word
High Word
Low Doubleword
High Doubleword
1516
3132
N+1
N+2
N+4
Low
Byte
High
Byte
N
Low Quadword
High Quadword
Quadword
N
N
N
N
N+8
0
Quadword
127 6364