The LMC Instruction Set

GCSE Functions and Procedures (14-16 years)

  • An editable PowerPoint lesson presentation
  • Editable revision handouts
  • A glossary which covers the key terminologies of the module
  • Topic mindmaps for visualising the key concepts
  • Printable flashcards to help students engage active recall and confidence-based repetition
  • A quiz with accompanying answer key to test knowledge and understanding of the module

A-Level Basic programming constructs (16-18 years)

  • An editable PowerPoint lesson presentation
  • Editable revision handouts
  • A glossary which covers the key terminologies of the module
  • Topic mindmaps for visualising the key concepts
  • Printable flashcards to help students engage active recall and confidence-based repetition
  • A quiz with accompanying answer key to test knowledge and understanding of the module

The LMC Instruction Set (summary table)

Instruction Mnemonic ‘Machine Code’ Further information
Load LDA 5xx Load the contents of address xx onto the accumulator.
Note: the contents of the address are not changed.
Store STA 3xx Store the contents of the accumulator to address xx.
Note: the contents of the accumulator are not changed.
Add ADD 1xx Add the contents of address xx to the accumulator.
Note: the contents of the address are not changed and the total cannot exceed 999.
Subtract SUB 2xx Subtract the contents address xx from the accumulator.
Note: the contents of the address are not changed.
Note: If a subtract instruction causes negative results then a negative flag will be set so that BRP can be used properly.
Input INP 901 Copy the value from the “in box” onto the accumulator.
Output OUT 902 Copy the value from the accumulator to the “out box”.
Note: the contents of the accumulator are not changed.
End HLT 000 Stop the LMC simulator executing the program.
Branch always BRA 6xx Set the program counter to address xx.
Branch if zero BRZ 7xx If the contents of the accumulator are ZERO , set the program counter to address xx.
Branch if zero or positive BRP 8xx If the contents of the accumulator are ZERO or positive (i.e. the negative flag is not set), set the program counter to address xx.
Data storage DAT Reserve as data the memory address reached when this instruction is compiled.
Note: a value N can be stored at the memory address by using DAT N

NOTE
: xx represents a memory address between 0 and 99.