Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

It has to be in LC-3 assembly language SUBROUTINES: MULTIPLICATION DIVISION, MODULUS 5.1 Problem Statement Given two integers X and Y compute the product XY

It has to be in LC-3 assembly language

image text in transcribedimage text in transcribedimage text in transcribedimage text in transcribed

SUBROUTINES: MULTIPLICATION DIVISION, MODULUS 5.1 Problem Statement Given two integers X and Y compute the product XY (multiplication), the quotient X/Y (inte- ger division), and the modulus X (mod Y) (remainder). 5.1.1 Inputs The integers X and Y are stored at locations 3100 and 3101, respectively. 5.1.2 Outputs The product XY, the quotient X/Y, and modulus X (mod Y) are stored at locations 3102, 3103, and 3104, respectively. If X, Y inputs are invalid for X/Y and X (mod Y) (see section 5.2.5 on page 5-3) place 0 in both locations 3103 and 3104 5.2 The program 5.2.1 Subroutines Subroutines in assembly language correspond to functions in C/C++ and other computer languages: they form a group of code that is intended to be used multiple times. They perform a logical task by operating on parameters passed to them, and at the end they return one or more results. As an example consider the simple subroutine in listing 5.1 on page 5-2 which implements the function fn-2n+ 3. The integer n is located at 3120, and the result Fn is stored at location 3121. Register R0 is used to pass parameter n to the subroutine, and R1 is used to pass the return value fn from the subroutine to the calling program. Execution is transfered to the subroutine using the JSR (jump to subroutine") instruction. This instruction also saves the return address, that is the address of the instruction that follows JSR, in register R7. See figure 5.1 on page 5-2 for the steps taken during execution of JSR. The subroutine terminates execution via the RET "return from subroutine" instruction. It simply assigns the return value in R7 to the PC The program will have two subroutines: MULT for the multiplication and DIV for division and modulus Revision: 1.8, August 14, 2005 5-1 SUBROUTINES: MULTIPLICATION DIVISION, MODULUS 5.1 Problem Statement Given two integers X and Y compute the product XY (multiplication), the quotient X/Y (inte- ger division), and the modulus X (mod Y) (remainder). 5.1.1 Inputs The integers X and Y are stored at locations 3100 and 3101, respectively. 5.1.2 Outputs The product XY, the quotient X/Y, and modulus X (mod Y) are stored at locations 3102, 3103, and 3104, respectively. If X, Y inputs are invalid for X/Y and X (mod Y) (see section 5.2.5 on page 5-3) place 0 in both locations 3103 and 3104 5.2 The program 5.2.1 Subroutines Subroutines in assembly language correspond to functions in C/C++ and other computer languages: they form a group of code that is intended to be used multiple times. They perform a logical task by operating on parameters passed to them, and at the end they return one or more results. As an example consider the simple subroutine in listing 5.1 on page 5-2 which implements the function fn-2n+ 3. The integer n is located at 3120, and the result Fn is stored at location 3121. Register R0 is used to pass parameter n to the subroutine, and R1 is used to pass the return value fn from the subroutine to the calling program. Execution is transfered to the subroutine using the JSR (jump to subroutine") instruction. This instruction also saves the return address, that is the address of the instruction that follows JSR, in register R7. See figure 5.1 on page 5-2 for the steps taken during execution of JSR. The subroutine terminates execution via the RET "return from subroutine" instruction. It simply assigns the return value in R7 to the PC The program will have two subroutines: MULT for the multiplication and DIV for division and modulus Revision: 1.8, August 14, 2005 5-1

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_2

Step: 3

blur-text-image_3

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

Beginning ASP.NET 4.5 Databases

Authors: Sandeep Chanda, Damien Foggon

3rd Edition

1430243805, 978-1430243809

More Books

Students also viewed these Databases questions