The following program will demonstrate the use of LDA and STA, the Load and Save instructions used in the .
Running the program: when prompted, INPUT a set of two numbers. The program should then OUTPUT them in the same order that they were entered.
1 STA 9
3 STA 10
4 LDA 9
6 LDA 10
9 DAT 0
10 DAT 0
- Copy the eleven line program above and paste it into the Program box.
- Click on the “Assemble Program” button.
- After the program is assembled you should see RAM addresses 0 to 8 contain the machine code instructions shown in the image.
- Click on the RUN button.
- If you have difficulty following what is happening, read the explanation below and use STEP instead of RUN so you can follow each step.
first and second are used to label a DAT instruction. DAT identifies the 10th and 11th instructions as data. The labels therefore refer to RAM addresses 9 and 10 respectively (0-indexed counting).
0 INP //the first input value is copied into the accumulator.
1 STA first //the accumulator contents are stored in RAM address 9 (labelled
2 INP //the second input value is copied into the accumulator.
3 STA second //the accumulator contents are stored in RAM address 10 (labelled
4 LDA first //the contents of memory address 9 (labelled first) are loaded into
5 OUT //the value in the accumulator is sent to the OUTPUT.
6 LDA second //the contents of memory address 10 (labelled second) are loaded into
7 OUT //the value in the accumulator is sent to the OUTPUT.
8 HLT //the program halts.
INPUT= 2, 3
OUTPUT = 2, 3