In this section, we will write a program that subtracts the value of one register from another and stores the result in register 0
.
In order to do this, we will create a number of variables with integers that are then assigned to the register. This will introduce you to the concepts of memory and addresses. During this process you will also understand a few new terms that are important to the Assembly language.
We will use the following program to explore these items:
.data /* Variable definition */ .balign 4 wordvar1: .word 7 .balign 4 wordvar2: .word 3 .text /* code definition */ .balign 4 .global main main: LDR R1, wordvar1addr LDR R1, [R1] LDR R2, wordvar2addr LDR R2, [R2] SUB R0, R1, R2 @ Subtract 3 from 7 BX LR wordvar1addr : .word wordvar1 wordvar2addr : .word wordvar2
Add this program to a new file called third_assem_prog.s
and save it.
This should be stored with the other Assembly programs you created in the assem_programs
directory...