9618 · 4.2
Assembly Language flashcards
Revision flashcards for Cambridge 9618 Assembly Language (syllabus 4.2). Flip, recall, then mark a real past-paper question.
Card
Mnemonic
A short, memorable abbreviation for an assembly language instruction, representing a machine operation. For example, `LDR` for 'Load Register'.
Card
Opcode (Operation Code)
The portion of a machine code instruction that specifies the operation to be performed by the CPU. It's the binary equivalent of a mnemonic.
Card
Operand
The part of an instruction that specifies the data to be operated on or the address of that data. It follows the opcode.
Card
Assembler
A system software program that translates assembly language source code into machine code (object code). It maintains a one-to-one correspondence between assembly instructions and machine instructions.
Card
Accumulator (ACC)
A special-purpose register within the CPU where intermediate results of arithmetic and logic operations are temporarily stored.
Card
Index Register (IX)
A CPU register used for modifying operand addresses during the run of a program, typically for accessing elements in an array or data structure. It's key for indexed addressing.
Card
Program Counter (PC)
A register that holds the memory address of the next instruction to be fetched. It automatically increments after an instruction is fetched, ensuring sequential execution unless a jump instruction alters it.
Card
Immediate Addressing
An addressing mode where the operand is the actual value to be used in the operation. In the Cambridge syllabus, this is denoted by a '#' symbol, e.g., `ADD #5` adds the value 5 to the Accumulator.
Card
Direct Addressing
An addressing mode where the operand is the memory address of the data to be used. E.g., `LDR 250` loads the value *from* memory location 250 into the Accumulator.
Card
Indexed Addressing
An addressing mode where the effective memory address is calculated by adding the contents of the Index Register (IX) to a base address specified in the instruction. E.g., `LDR 200,X` loads from address `200 + [contents of IX]`.
Card
Symbolic Addressing
Using a label (a symbol like `LOOP` or `DATA_START`) to represent a memory address. The assembler resolves these labels into actual numeric addresses during the assembly process.
Card
Common Exam Trap: Immediate vs Direct
Do not confuse `LDM #100` (load the number 100 into the ACC) with `LDR 100` (load the contents of memory address 100 into the ACC). The '#' makes all the difference.