Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Using ARM Assembly Language (ARM Cortex-M MicroController) Consider a 9-story bu

ID: 3752673 • Letter: U

Question

Using ARM Assembly Language (ARM Cortex-M MicroController)

Consider a 9-story building with a basement. The first floor is given the number 1, the second is given the number 2 and so on. The basement is given the number 0. You will write a program to simulate an elevator operated throughout the whole building. Write the following subroutines that will work with the main program,

a) DELAY: generates a software delay of 1 second.

b) OPEN: displays a ‘Door open’ message on the screen after a delay of 1 second. A working version of this code is supplied for your use, if you like on the “Software Downloads” page from the Lab page

c) CLOSE: displays a ‘Door close’ message on the screen after a delay of 1 second.

d) UP: performs the following procedure: i. Displays a ‘Going UP’ message on the screen. ii. Goes up one floor at a time (1 second delay between each floor), until the elevator reaches the destination. iii. At each floor, prints that number (current floor number) on the screen. iv. After the elevator reaches the destination floor, stores this number as the current floor number in memory.

e) DOWN: performs the following procedure: i. Displays a ‘Going DOWN’ message on the screen. ii. Goes down one floor at a time (1 second delay between each floor), until the elevator reaches the destination. iii. At each floor, prints that number (current floor number) on the screen. iv. After the elevator reaches the destination floor, stores this number as the current floor number in memory.

f) STAY: displays a ‘Same floor’ message on the screen after a delay of 1 second.

Following is the pseudo code you can use for your main program,

1. Initialize the elevator at floor #1 (memory location containing the present location of the elevator).

2. Call the ‘OPEN’ subroutine.

3. Wait for the input from the user (0-9).

4. Call the ‘CLOSE’ subroutine.

5. Compare the number input with the present floor number.

6. If the number input is greater than the present floor number, call the ‘UP’ subroutine. Then jump to step 9.

7. If the number input is less than the present floor number, call the ‘DOWN’ subroutine. Then jump to step 9.

8. If the number input is equal to the present floor number, call the ‘STAY’ subroutine

9. Jump back to step 2.

Explanation / Answer

ARM ASSEMBLY LANGUAGE:-


An assembler translates a file containing

assembly language code into the corresponding machine language.

But ARM processors support an entirely different machine language.the design of the machine langauge encoding is called the instruction set architecture

int total;

int i;

total=0;

for (i=10; i>0; i--)

{

total +=i;

}

mov R0, 0
mov R1, 10

again ADD R0,R0,R1
SUBS R1,R1

BNE again

halt B balt
  

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote