Glossary

absolute address

A virtual (not physical) address within the process’ address space that is computed as an absolute number.

alias

One identifier becomes equivalent to another identifier.

application registers

Special purpose registers for various functions. Some of the more commonly used registers have assembler aliases. For example, ar66 is used as the Epilogue Counter and is also called ar.ec. See alias.

assembler

A program that translates Assembly language into machine language.

Assembly language

A low level symbolic language closely resembling machine-code language.

big-endian

A method of storing a number so that the most significant byte is stored in the first byte addressed.

binding

The process of resolving a symbolic reference in one module by finding the definition of the symbol in another module, and substituting the address of the definition in place of the symbolic reference. The linker binds relocatable object modules together, and the DLL loader binds executable load modules. When searching for a definition, the linker and DLL loader search each module in a certain order, so that a definition of a symbol in one module has precedence over a definition of the same symbol in a later module. This order is called the binding order.

bundle

128 bits that include three instructions and a template field.

COFF

Common Object File Format; an object-module format.

data elements

Data elements can be bytes, words, doublewords, or quadwords. The MMX‘ technology packs data elements into newly defined packed data types: groups of 8 bytes, 4 words, or 2 doublewords, packed into 64-bit quantities.

directive

An assembly language statement that does not produce executable code.

GB

Gigabytes.

global symbol

Symbol visible outside the compilation unit in which it is defined.

IA-32

Intel Architecture-32; the name for Intel’s 32-bit Instruction Set Architecture (ISA).

IA-32 system environment

The system environment as defined by the Pentium® and Pentium Pro processors.

index register

Any of these general registers: eax, ebc, ecx, edx, ebp, esp, esi, and edi.

instruction

An operation code (opcode) that performs a specific machine operation.

instruction group

Itanium(TM) architecture instructions are organized in instruction groups. Each instruction group contains one or more statically contiguous instructions that execute in parallel. An instruction group must contain at least one instruction; there is no upper limit on the number of instructions in an instruction group.

An instruction group is terminated statically by a stop, and dynamically by taken branches. Stops are represented by a double semi-colon (;;). You can explicitly define stops. Stops immediately follow an instruction, or appear on a separate line. They can be inserted between two instructions on the same line, as a semi-colon (;) is used to separate two instructions.

Instruction Pointer (IP)

A 64-bit instruction that holds the address of the bundle which contains the currently executing instruction. The IP is incremented as instructions are executed and can be set to a new value with a branch.

Instruction Set Architecture

The architecture that defines application level resources, including user-level instructions and user-visible register files.

IP

See instruction pointer.

IP-relative addressing

Code that uses its own address (commonly called the program counter, or "PC"; in Itanium(TM) architecture this is also called the instruction pointer, or IP) as a base register for addressing other code and data.

ISA

See Instruction Set Architecture.

KB

Kilobytes.

little-endian

A method of storing a number so that the least significant byte is stored at the lowest addressed byte.

load module

An executable unit produced by the linker, either a main program or a DLL. A program consists of at least a main program, and may also require one or more DLLs to satisfy its dependencies.

MB

Megabytes.

nop

A "no operation" instruction is a real instruction for the processor, where the processor takes no action.

OMF

Object Module Format. Object module's internal structure and content. COFF is an example of an OMF.

predicate registers

64 1-bit predicate registers that control the execution of instructions. The first register, P0, is always treated as 1.

predication

The conditional execution of an instruction used to remove branches from code.

privileged instruction section

Portions of object file, such as code or data, bound into one unit.

shared symbol

Symbols that can be exported by or imported to all object files combined by the dynamic linker.

statement

An Assembly-language program consists of a series of statements. There are five primary types of Assembly-language statements:

instruction statements
label statements
data allocation statements
directive statements
assignment and equate statements

stop

Indicates the end of an instruction group.

symbol declaration

The symbol address is resolved, not necessarily based on the current module. Declare symbols using a .global or .weak directive.

token

A minimal lexical element of Assembly language. A token consists of a sequence of one or more adjacent characters.