Wite a program to send the listed data stored at memory


Lab Objective

- Using the stack to store data
- Writing programs using subroutines
- Parameter passing using the stack

Procedure:

Part I: Using the stack to store data

Complete the following program to store the listed data into the RAM locations starting at $3000 using the stack pointer and the PUSH command. Use memory dump (md) command to see the data stored at the memory locations and include in your lab report.

Data: $55AA, $6811, $6CA0, $1ABC, $5AB3

ORG   

$2000

LDS 

#$3000

LDX

#$55AA

PSHX  

 

LDX 

 

.

 

.

 

PULX

 

SWI

 

  1. Add comments for each assembly line in your report. Include a screen shot of data stored. You can use md 2FF0 to see data stored in memory. Why?
  2. Why index register X has been used to load data and not ACCA?
  3. Does the high byte store first or the low byte?
  4. What data index register X will contain at the end of the program?

Part II: Subroutines

Write a program that finds the square of a number listed below in a subroutine and stores the results into the memory locations $2100-$2104. Complete the following program and use memory dump (md) to see the result obtained. Do not forget to add comments to the each program line and explain its operation.

Hint: Multiplying a number by itself will make it square. You can also get some idea from the program on page 117 of the textbook.

Numbers: $0A, $0C, $0B, $0F

ORG   

$2000

LDS 

#$3000

LDX

#$55AA

PSHX  

 

LDX 

 

.

 

.

 

PULX

 

SWI

 

 

SQUARE:

.

TAB

MUL

.

RTS

Part III: Parameter passing using the stack

Write a program to send the following listed data stored at memory locations $2100-$210F to a subroutine that adds them up. Store the result at memory location $21FF. Use "md" to see the result and include in your report.

Data (numbers are in decimal): 10,15,34,4,5,6,9,23,38,2,11,14,15,9,7

Do not forget to include a screen shot of the program with zero compilation error and load to the board successfully.

Solution Preview :

Prepared by a verified Expert
Electrical Engineering: Wite a program to send the listed data stored at memory
Reference No:- TGS0973265

Now Priced at $40 (50% Discount)

Data (numbers are in decimal): 10,15,34,4,5,6,9,23,38,2,11,14,15,9,7 Do not forget to include a screenshot of the program with zero compilation error and load to the board successfully.

Recommended (93%)

Rated (4.5/5)