x86 Glossary of Terms
- Address:
- Location of a data item in memory. Also see Linear address, Physical
address.
- AGI:
- Address Generation Interlock. On the 486 and Pentium processors the
pipeline is stalled for one cycle if a component of an address is loaded
or calculated in the previous machine cycle.
- Arithmetic Logic Unit:
- The portion of the CPU that performs the integer operations such as
ADD, SUB, AND, OR and CMP.
- Alignment:
- The placement of data or code on a specific address boundary (i.e.
a 2, 4, or 8 byte evenly divisible address).
- ALU:
- See Arithmetic Logic Unit.
- Arithmetic Logic Unit:
- The portion of the CPU that performs the integer operations such as
ADD, SUB, AND, OR and CMP.
- ASCII:
- American Standard Code for Information Interchange. A standard code
for representing English characters and symbols with various extensions
for foreign characters.
- Assembler:
- A program that translates an assembly language program to machine language
(or object code).
- Assembly Language:
- A programming language, based on the architecture of a particular machine,
where most statements translate into one machine instruction.
- Base address:
- The address at the start of a structure or of data array.
- Base register:
- A register that contains a base address. Usually BX (EBX) or BP (EBP)
is a base register. For 16-bit code the base register must be BX or BP,
for 32-bit code any of EAX, EBX, ECX, EDX, ESI, EDI, EBP or ESP.
- Base:
- Also See base address. In number systems, used to specify the number
of digits in a system, i.e. base 10 has ten digits, base 2 has two, etc.
- BCD:
- Binary Coded Decimal. See also Packed BCD. This is a format for encoding
base 10 numbers where the low order 4 bits are used to store the numercial
value.
- Big-endian:
- A method of storing multi-byte data types where the low-order byte
is stored at the highest address and the high-order byte is stored at the
lower address.
- BIOS:
- Basic Input/Output System. Built-in software (usually stored in ROM)
that is used to start up the computer and controls low-level functionality
of devices such as the keyboard, screen, disks and I/O ports.
- Bit:
- A binary digit. Can be a zero or a one.
- Byte:
- A data type consisting of 8 bits.
- Cache:
- A small fast memory buffer that holds a copy of the most recently used
or most active portions of the larger slower memory. Also see Disk Cache.
- Central Processor Unit:
- The main processing unit in a computer. Sometimes referred to as the
processor, the chip or the computer.
- Character String:
- A data type that is an array of characters. Usually followed by a byte
of 0 in assembly language or C.
- Character:
- A data type that is the same as a byte.
- Checksum:
- A simple error detection scheme where values are added (summed) into
a variable to be compared with a similar previously calculated value.
- Chip:
- A small piece of semiconducting material on which an electronic circuit
is placed. A CPU chip is also known as a microprocessor.
- CISC:
- See Complex Instruction Set Computer.
- Clock Speed:
- The speed that a processor executes instructions.
- Code Segment:
- The addressable area of memory defined by the segment in the CS register.
- Compiler:
- A program that translates a high level language (such as C, Pascal
or Fortran) into machine language or sometimes into assembly language.
- Complex Instruction Set Computer:
- Processors designed with many complex and sometimes irregular instructions,
especially instructions that access memory operands and operate on them.
The 80x86 architecture is considered CISC. See RISC.
- CP/M:
- Control Program for Microcomputers. An operating system originally
designed for 8080 and Z-80 based computers.
- CPU:
- See Central Processor Unit.
- CRC:
- Cyclic redundancy check. A complex error detection scheme, similar
to a checksum, but each value is operated on in a position-dependent manner.
This increases the reliability of the error detection.
- Cycles:
- Periodic pulses created by an electronic clock that causes CPU activity.
- Data Segment:
- The addressable area of memory defined by the segment in the DS register.
- Data Structure:
- A scheme for organizing related data items.
- Debugger:
- A program that allows executing, monitoring and modifying a program's
code and data to enable a programmer to locate program errors (or bugs).
- Directive:
- An assembler statement that contains information for the use of the
assembler rather than an instruction to be assembled and executed as part
of the program.
- Disassembler:
- A program that attempts the difficult task of reconstructing an assembly
language source file from machine language.
- Disk Cache:
- A program and/or areas of memory set aside keep frequently used or
most recently used data from a disk for quicker access.
- Displacement:
- The constant part of an effective address (EA).
- DOS:
- Disk Operating System. Also called MS-DOS or PC-DOS.
- DRAM:
- Dynamic RAM. The type of memory chip used in most computers. It is
called dynamic because it must continually be refreshed or the contents
will be lost.
- Dword:
- A data type consisting of a double word or 32-bits.
- EA:
- See Effective Address
- Editor:
- A program that allows the user to create and edit files.
- Effective Address:
- The combination of any or all of a base register, index register and
displacement used to produce an offset within a segment.
- Emulator:
- A program that attempts to emulate, or work the same as, another program
or machine.
- Endian:
- See Little-endian and Big-endian.
- Exception:
- A forced call to an interrupt routine that handles error conditions.
- External Cache:
- A memory cache not physically located on the same chip as the CPU.
- Extra Segment:
- The addressable area of memory defined by the segment in the ES register.
- Far Pointer:
- A reference to memory consisting of a segment and an offset. In real
mode the segment is the upper 16 bits of a 20-bit segment starting address.
In protected mode the segment is a selector.
- Fault:
- An exception that is called with the return address on the stack of
the instruction that caused the fault.
- File:
- An organized collection of data or information, usually stored on a
disk with a specific name or filename.
- Flat Model:
- A program model where all segment registers are the same and are usually
set to be larger than 64K segments.
- Floating Point Unit:
- The portion of the 80486 or Pentium that performs the floating point
operations like the floating point processor.
- FPP:
- See Floating Point Processor.
- Floating Point Processor:
- A floating point math processor. The processing unit that performs
IEEE 754 floating point arithmetic on 32-bit, 64-bit and 80-bit signed
numbers with exponents.
- FPU:
- See Floating Point Unit.
- Hertz:
- A frequency of one cycle per second.
- HLL:
- High Level Language. Such as C, Basic, Pascal and Fortran.
- Hz:
- Abbreviation for Hertz.
- IEEE:
- Institute of Electrical and Electronic Engineers. An organization best
known for developing electrical and electronic standards for the computer
industry.
- Index register:
- A register that contains an index value. Usually SI (ESI) or DI (EDI)
is an index register. For 16-bit code the index register must be SI or
DI, for 32-bit code any of EAX, EBX, ECX, EDX, ESI, EDI or EBP.
- Integer:
- A positive whole number, negative whole number or zero. On computers
integers have a limited range, for example byte integers have a range of
-128 to +127.
- Interpreter:
- A program that executes another program by reading each program statement
and interpreting the actions to be taken.
- Interrupt Handler:
- A routine specifically designed to respond to an interrupt.
- Interrupt Vector Table:
- An array of 256 far pointers to interrupt handlers. Located at address
0000:0000.
- I/O:
- Input/Output.
- IVT:
- See Interrupt Vector Table
- Label:
- An identifier used in assembly language programs to specify a memory
address by name rather than by its actual numerical address.
- LDT:
- See Local Descriptor Table.
- Library:
- A collection of programs or subroutines stored in object file format,
usually in a .LIB file.
- Linear Address:
- A 20-, 24-, or 32-bit address into a large unsegmented memory space.
With paging (virtual memory) disabled the linear address is the physical
address. With paging enabled the paging mechanism translates the linear
address to a physical address.
- Link:
- The complex process of combining object files and hooking, or linking
together, subroutines or data in one file that are referenced in another
file.
- Linker:
- A program that links one or more object files into an executable program
file, usually a .EXE file.
- Little-endian:
- A method of storing multi-byte data types where the low-order byte
is stored at the lowest address and the high-order byte is stored at the
highest address. The Intel 80x86 processor use this format.
- Logical Address:
- A segment and offset combine to generate a logical address. The segmentation
unit translates the logical address into a linear address.
- Long Integer:
- See integer. An integer data format consisting of 32-bits.
- Machine Language:
- The binary codes that a machine (CPU) can execute.
- Mask:
- A bit pattern constructed to be logically combined with a data value
to allow only some bits of the original data value to show through (i.e.
the others are masked out).
- Math Coprocessor:
- A floating point math processor. Termed a "co-processor"
when added as an optional separate chip.
- MegaHertz:
- A million hertz; A million cycles per second.
- Mhz:
- MegaHertz.
- Microprocessor:
- A computer processor fully contained on one integrated circuit (or
chip).
- Module:
- Part of a program, usually one file, containing one or more procedures
or subroutines and/or data values.
- MS-DOS:
- Microsoft DOS (Disk Operating System).
- Near Pointer:
- A reference to memory containing only the offset portion of the address.
The offset must be combined with a segment or selector in one of the segment
registers.
- Nibble:
- 4 bits. There are two nibbles in a byte. (Also nybble)
- NPX:
- Numerical Processor Extension. Original name for the 8087 floating
point co-processor.
- Numeric Coprocessor:
- A floating point math processor.
- Object code:
- An intermediate form of machine language produced by assemblers and
compilers that is structured so that it can be linked together.
- Offset:
- A 16-bit number that specifies the byte number beyond the start of
a segment. On the 80386 and above segments may have 32-bit offsets.
- Operand:
- Data provided in a register, in memory or immediately with an instruction
to be used in the processing of the instruction.
- Operating System:
- The program(s) that load applications and control access to memory,
disk files, I/O ports, etc., such as DOS, Windows, OS/2 and UNIX.
- OS:
- See Operating System.
- Packed BCD:
- Packed Binary Coded Decimal. A data format that stores one decimal
digit in each nibble of a byte.
- Page:
- A 4K-byte block of memory. This is the size of memory block used for
paging.
- Paging:
- A method of managing memory, by an operating system, to implement a
virtual memory system. Pages of memory are stored on a disk when not in
use and recalled later when needed.
- Pairing:
- The process of issuing two instructions at the same time to each of
the U and V pipelines of the Pentium.
- Paragraph:
- 16 bytes of memory.
- Parity:
- An error detection system commonly used in data communications where
the sum of the set bits in a data packet is odd or even.
- PC-DOS:
- Personal Computer DOS. IBM's version of MS-DOS.
- Physical Address:
- The actual hardware address of memory issued by the processor. The
maximum physical address is determined by the number of address pins on
the processor.
- Port:
- A channel, or connection, for data to enter or leave the CPU.
- Prefix:
- One of several machine language codes that can be placed in front of
other instructions to modify their actions or default conditions.
- Processor:
- Short for microprocessor. The part of the computer that actually performs
the arithmetic, logical and control functions of a computer.
- Protected Mode:
- A CPU mode where memory address ranges are protected from being read
and/or written to by unauthorized segments of code.
- Pseudo-op:
- Another term for assembler directives.
- Quadword:
- A data type consisting of 8 bytes or 64-bits.
- RAM:
- Random Access Memory. The read/write memory used by the computer, usually
consisting of DRAM chips.
- Re-entrant:
- A quality of a procedure or program that allows it to be interrupted
and called or run again and both logical instances remain intact and properly
execute independently of each other.
- Real Mode:
- The only CPU mode of the 8088 and 8086 and the startup mode for the
80286 and above. There is no memory protection as in the protected mode.
- Register:
- A storage area in a CPU. Each register usually has a number of operations
that can be directly performed on it by the CPU, unlike a memory storage
location.
- Reduced Instruction Set Computer:
- Processors designed with the general concepts of a load/store architecture,
few addressing modes, many registers, fixed length instructions and the
"simple is faster" design criteria.
- Segment Override:
- A prefix for an instruction that causes a segment register, other than
the normal default segment register to be used during the execution of
the following instruction.
- Segment:
- Real mode: A portion of memory specified by a 20-bit starting address
of which the low 4 bits are always zero and whose length can be up to 64K.
Protected mode: A portion of memory described by a descriptor table entry.
- Selector:
- In protected mode, a pointer to a segment descriptor. A selector is
a 16-bit value and is used in protected mode instead of a paragraph address
in a segment register.
- SRAM:
- Static RAM. Faster and more stable than DRAM, but requires more power
and is more expensive. Usually used in memory caches.
- Stack Segment:
- A portion of memory pointed to by the stack segment register for use
as the system stack.
- Stack:
- A last-in first-out data data structure in memory used for saving return
addresses, temporary variables and system status information. A system
can have any number of stacks, but only one may be in use at any time
- String:
- Any consectutive bytes of memory can be a string. HLL's specify rules
for defining strings. In the C language strings must end with a byte containing
a value of zero.
- Superscalar:
- A CPU that can complete more than one instruction per machine cycle.
- Task:
- One of many programs currently executing or waiting to execute in a
multi-tasking system.
- Two's Complement:
- A mathematical operation where a binary value is multiplied by -1.
Each bit is changed to the opposite value and then one is added to the
entire value.
- Unsigned Integer:
- A positive whole number or zero. On computers unsigned integers have
a limited ranged, for example an 8-bit unsigned integer has a range of
0 to 255.
- V86 Mode:
- See Virtual-8086 Mode.
- Virtual Memory:
- A scheme used that allows programs to logically allocate and use more
memory than is physically available by moving and swapping portions that
are not currently needed or infrequently used to a hard disk.
- Virtual-8086 Mode:
- A mode on 386 and above processors that provides for the emulation
of the 8086 architecture. An operating system may run a mix of protected
mode tasks amd virtual-8086 mode tasks.
- Word:
- A data type consisting of two bytes or 16 bits. (On non-x86 architectures
a word usually refers to a data element the size of the accumulator and
registers, typically 32 bits.
Home Page e-mail
to Quantasm Order form
Site Map