Send the link below via email or IMCopy
Present to your audienceStart remote presentation
- Invited audience members will follow you as you navigate and present
- People invited to a presentation do not need a Prezi account
- This link expires 10 minutes after you close the presentation
- A maximum of 30 users can follow your presentation
- Learn more about this feature in our knowledge base article
LAB 1: Introduction to ARM Simulator
Transcript of LAB 1: Introduction to ARM Simulator
To learn on how to run a simple ARM assembly language program using ARMsim#.
DetailWhat is ARMSim#? 1
Running the First ARM Assembly Language Program
Your first assembly program adds two numbers. The numbers, 3 and 5, are assumed to be in register 0 and register 1, respectively, while the result is to be stored in the memory location whose address is in register 3.
1. Follow the steps below to run the above program in ARMSim#:
(i) Write the program in note or text pad and save as .s (source) or .o (object) extension.
(ii) Open the simulator and select File.
(iii) Choose Load by specifying the location of your file and the file will be executed automatically.
(iii) You can view the content of the registers that you used in the program in the left side of your working window or register view area. What are the values of registers R0, R1, R2, and R3, before and after the execution of the program?
2. Write the sample program to multiply two numbers in “Getting Started with ARMSim#”. Run the program using the different running options, run, step into and step over.
3. Write a program using ARM assembly language which adds two numbers, in variable A and B, and store the result in variable C.
ARMSim# is a desktop application running in a Windows environment. It allows users to simulate the execution of ARM assembly language programs on a system based on the ARM7TDMI processor. ARMSim# includes both an assembler and a linker; when a file is loaded, the simulator automatically assembles and links the program.
The window of ARMSim# program can be divided into three parts; code view (displaying code), stack view (displaying stacks) and register view (displaying 16 general purpose registers). There is a list of instructions that can be used to implement different tasks in assembly language such as LDR, STR, ADD, MUL etc.
MOV R0,#3 @ Move the value 3 into register R0
MOV R1,#5 @ Move the value 5 into register R1
MOV R3,#0x3000 @ Move the address of the result into R3
ADD R2, R0, R1 @ Add the content of R0 and R1, keep result in R2
STR R2,[R3] @ Store the content of R2 at the address in R3
In order to obtain a mark for today’s lab, please explain your work to the TA and submit the hardcopy at the beginning of your next week lab session. No late submission accepted.