Question: 6 . 1 0 Problem 6 c: Elevator Create a new Platform.IO project called Lab 6 c . Your project should include the startup.s ,

6.10 Problem 6c: Elevator
Create a new Platform.IO project called Lab6c. Your project should include the startup.s,
ECE251_asm_util.s and platformio.ini files from the Lab6 zip file. Create a new main.s file
with the program you will write
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 Canvas.
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) plus a space 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.Lab6 FA24 Subroutines and the Stack
-7-
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.
Your output should look something like this:
Show the working program to TA.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!