1.3 Special Symbols in Pseudocode Notation
MIPS® Architecture For Programmers Volume II-A: The MIPS32® Instruction Set, Revision 5.04 18
LLbit Bit of virtual state used to specify operation for instructions that provide atomic read-modify-write. LLbit is
set when a linked load occurs and is tested by the conditional store. It is cleared, during other CPU operation,
when a store to the location would no longer be atomic. In particular, it is cleared by exception return instruc-
tions.
I:,
I+n:,
I-n:
This occurs as a prefix to Operation description lines and functions as a label. It indicates the instruction
time during which the pseudocode appears to “execute.” Unless otherwise indicated, all effects of the current
instruction appear to occur during the instruction time of the current instruction. No label is equivalent to a
time label of I. Sometimes effects of an instruction appear to occur either earlier or later — that is, during the
instruction time of another instruction. When this happens, the instruction operation is written in sections
labeled with the instruction time, relative to the current instruction I, in which the effect of that pseudocode
appears to occur. For example, an instruction may have a result that is not available until after the next
instruction. Such an instruction has the portion of the instruction operation description that writes the result
register in a section labeled I+1.
The effect of pseudocode statements for the current instruction labelled I+1 appears to occur “at the same
time” as the effect of pseudocode statements labeled I for the following instruction. Within one pseudocode
sequence, the effects of the statements take place in order. However, between sequences of statements for
different instructions that occur “at the same time,” there is no defined order. Programs must not depend on a
particular order of evaluation between such sections.
PC The Program Counter value. During the instruction time of an instruction, this is the address of the instruc-
tion word. The address of the instruction that occurs during the next instruction time is determined by assign-
ing a value to PC during an instruction time. If no value is assigned to PC during an instruction time by any
pseudocode statement, it is automatically incremented by either 2 (in the case of a 16-bit MIPS16e instruc-
tion) or 4 before the next instruction time. A taken branch assigns the target address to the PC during the
instruction time of the instruction in the branch delay slot.
In the MIPS Architecture, the PC value is only visible indirectly, such as when the processor stores the
restart address into a GPR on a jump-and-link or branch-and-link instruction, or into a Coprocessor 0 register
on an exception. The PC value contains a full 32-bit address all of which are significant during a memory ref-
erence.
ISA Mode In processors that implement the MIPS16e Application Specific Extension or the microMIPS base architec-
tures, the ISA Mode is a single-bit register that determines in which mode the processor is executing, as fol-
lows:
In the MIPS Architecture, the ISA Mode value is only visible indirectly, such as when the processor stores a
combined value of the upper bits of PC and the ISA Mode into a GPR on a jump-and-link or branch-and-link
instruction, or into a Coprocessor 0 register on an exception.
PABITS The number of physical address bits implemented is represented by the symbol PABITS. As such, if 36
physical address bits were implemented, the size of the physical address space would be 2
PABITS
=2
36
bytes.
Table 1.1 Symbols Used in Instruction Operation Statements (Continued)
Symbol Meaning
Encoding Meaning
0 The processor is executing 32-bit MIPS instructions
1 The processor is executing MIIPS16e or microMIPS
instructions