Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Other Engineering Expert

Lab Assignment- Using Subroutines and Macros

Overview

The purpose of this lab is to program the MC8051 to add multi bytes two signed integers.. To simplify our laboratory, we will assume three bytes long (24 bits) signed integers. Each of the three bytes will be defined in three consecutive code memory bytes using the "DB" assembler directive. The program will store the answer in three consecutive data memory bytes starting at Ram address 40H. The program will also display the answer on P0, P1, and P2 staring with the LS Byte in P0. Port 3 pin 0 (P3.0) will be set if an overflow takes place, otherwise it will stay cleared. Three versions of the program will be implemented starting with all code included in one main program. The second implementation will employ two subroutines to make advantage of the repeated code blocks. The final implementation will utilize two Macros to reduce the size of the source program and improve its readability.

Steps

1. First, configure your code and data memory. The "MAIN:" program starts at code memory location 30H. The first integer uses code memory locations 100H, 101H, and 102H in the Intel MC8051 little endian format. The second integer uses code memory locations 105H, 106H, and 107H.

2. Second, configure parallel port 0, port 1, port 2, and P3.0 for output. Write and debug the code to add the two integers and store the answer in data memory locations 40H, 41H, and 42H. Update P0, P1, and P2 to display the same addition result. Flag an overflow condition on P3.1 by setting it.

3. Third, rewrite the program utilizing subroutines to make use of the repeated code blocks. Define the created. Subroutines after the main program before the program "END" directive.

4. Fourth, rewrite the program utilizing Macros to make use of the repeated code blocks. Define the created. Macros before the main program code. Unlike labels, the assembler will issue an error if Macros are not defined before they get referenced. Every Macro must end with "EMAC" directive. The Macro starts by its name followed by the word "MACRO". Example of a "SUM" Macro is the following:

SUM MACRO
------- -----------
------- -----------
EMAC

Type the name of the Macro at desired locations in your assembly source program as needed for the assembler to insert the Macro object code in the final object file.

5. Fifth, check the three programs for different integers and verify the overall operations. Make sure to test cases producing an overflow. Also make use of break points in the Keil debugger to enhance and speed up the checkout.

6. Document and submit your final report along with the well documented list file. Also describe the steps and tools used in debugging your program.

7. Describe how to modify / redesign your program to perform the addition of two multi bytes integers up to 16 bytes long; one stored at code memory starting address of 100H and the other at 110H. The length of the two integers is input from port 3 (P3). The answer is stored at data memory starting at address 40H through 4FH.

Other Engineering, Engineering

  • Category:- Other Engineering
  • Reference No.:- M92466203

Have any Question?


Related Questions in Other Engineering

Homework - risk and decision management1 you are working

Homework - Risk and Decision Management 1) You are working program X. The total budget allocated to the program is $100 M and it is to be completed in 24 mo. range (R) and passenger capacity (C) are two key performance p ...

Engineering materials term paper assignment -conduct a

ENGINEERING MATERIALS TERM PAPER ASSIGNMENT - Conduct a thorough literature search and write a 15-20 page technical review paper on the evolution of the engineering materials used in the manufacturing of any one of the f ...

Projectflow processing of liquor in a mineral refining

Project Flow Processing of Liquor in a Mineral Refining Plant The aim of this project is to design a flow processing system of liquor (slurry) in a mineral (aluminum) refining plant. Aluminum is manufactured in two phase ...

Assignment 11 what is the purpose of ore reserve and

ASSIGNMENT 1 1. What is the purpose of ore reserve and resource estimation? Why are resource and reserve estimates important to the mining industry? 2. What is meant by ore? What is meant by the term waste? How is the di ...

Mine safety amp environmental engineeringpart 1 questions1

Mine Safety & Environmental Engineering Part 1. Questions 1. Occupational health and safety is the primary factor that needs to be considered in the mining industry. Discuss this statement. 2. Define the following terms ...

Engineering analysis assignment -for every problem provide

Engineering Analysis Assignment - For every problem, provide The MATLAB script/function files that solve the problems. Problem 1: Plot the function f(t) = (x+5) 2 /(4+3x 2 ) for -3 ≤ x ≤ 5. using plot command. Use the ar ...

Register design a cpu register is simply a row of

Register design A CPU register is simply a row of flip-flops (i.e. SR, JK, T, etc) put side by side in an array to make the size of register required. For example, an 8 bit register has 8 flip-flops side by side for stor ...

Question - show that the zero-point energy of a simple

Question - Show that the zero-point energy of a simple harmonic oscillator does not contribute to its entropy or heat capacity, but does contribute to its energy and Helmholtz function.

A detailed review of spatial modulation and simulation

A Detailed Review of Spatial Modulation and Simulation Learning Outcomes a. Learn how to model mobile communication channels d. Discern knowledge development and directions on the recent advances in 4G to the research pr ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As