Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

This assignment requires you to take an ARM assembly language program and simulate it . The program is available in the file array _ plus

This assignment requires you to take an ARM assembly language program and simulate it. The program
is available in the file array_plus_scalar.asm.
Part A
1. Install uVision on your computer using the Getting Started with Keil uVision document or go to
the lab in ENG 228.
2. Start uVision.
3. Create a new project using Project -> New uVision Project.
4. Navigate to the desired directory (I suggest the same directory as the .asm file) and give the
project a name.
5. You will be asked to Select Device for Target Target 1.... Select Legacy Device Database [no
RTE] for the first pull down and then select ARM -> ARM7(Big Endian).
6. Add the source file to the project by using Project -> Manage -> Project Items.
7. In the Manage Project Items popup, click on Add Files and select array_plus_scalar.asm (you
may need to change the filter to All Files to see it). After you select the file, click on Add and
then on Close. You should now be back in the Manage Project Items window and see
array_plus_scalar.asm under Files. Click OK.
8. Use Project -> Build Target to run the Assembler.
9. Debug the program using Debug -> Start/Stop Debug Session
10. Youll see a popup window that says you are using the evaluation version and have a code limit
of 32 K. Click OK.
11. Set up the memory map using Debug -> Memory Map
12. In the memory map popup window, enter a map range equal to the current mapped region,
with the beginning and ending address separated by a comma. Click on Read, Write, and
Execute. Then, click on Map Range. You should see write added to the current mapped range.
Click Close.
13. Set a break point on the done B done instruction (line 34).
14. Down in the bottom right of the Keil Simulator window, click on the Memory 1 tab and enter 0
as the Address at the top. This window shows you everything that has been put in memory, both
instructions and data. The starting address of the line is followed by a colon and then each byte
separated by a space. Red indicates that a data item has been read and green indicates that a
data item has been written.
15. Run the program and answer the following questions:
Part B
1. What is the value of the PC (decimal and hexadecimal) when the program ends execution?
2. What are the memory addresses associated with x?
3. What are the memory addresses associated with y?
4. What values are stored in y (decimal and hexadecimal)?
5. Are they correct

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Put Your Data To Work 52 Tips And Techniques For Effectively Managing Your Database

Authors: Wes Trochlil

1st Edition

0880343079, 978-0880343077

More Books

Students also viewed these Databases questions

Question

Why do HCMSs exist? Do they change over time?

Answered: 1 week ago