Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Part I: Subtracting three integers. Write a program that subtracts three integers, i.e., calculating (x y - z) for three integers x, y, z that

Part I: Subtracting three integers.

Write a program that subtracts three integers, i.e., calculating (x y - z) for three integers x, y, z that user entered. Use the register EAX to store the final result. You can assume that x, y, and z will all be given as unsigned values such that x >= y + z (or that x y z >= 0). Your program shall have the following three features:

1. Display the welcome message;

2. Allowing the user to input the three integers from keyboard;

3. Display the result in decimal in the console window.

For example, the runtime screen shot can be as follows (the three numbers entered for x, y and z can be either on the same line or across three lines):

Welcome! This program subtracts three integer numbers.

Please input three integers x, y, and z:

40

20

5

The result of (x y z) is: 15

Press any key to continue

Part II: Making your program repetitive, i.e., allowing the user to calculate subtraction of a new group of three integers after having done with one group. Your program needs to clear the screen before starting with a new group.

Part III: Execute your program line by line and trace the change of register EAX. Include screenshots in your lab report to show the change of EAX. (You need to set a breakpoint at the beginning of your program and run your program with the option Start Debugging).

[Hints:

1. To display a string, you should first define the string in data segment. Then insert the following two instructions to display it (in you program, you should replace stringName with the actual name of your string):

mov edx, OFFSET stringName

call WriteString

2. The instruction call ReadInt reads a 32-bit signed integer from the keyboard and returns the value in EAX.

3. The instruction call WriteDec writes a 32-bit unsigned integer in EAX to the console window in decimal format.

4. You need to store the integer in memory every time you read an integer from the keyboard. Otherwise, it will be overwritten by the newly read integer.

The following two instructions might be needed for Part II.

5. The instruction call Clrscr clears the console window.

6. Instruction jmp allows you to jump to a place indicated by L1 below:

L1:

jmp L1

Please refer to Chapter 5 Section 5.4 for details on how to use these instructions. ]

Requirements:

Submit your source code (.asm file) which should run correctly. (You just need to submit one .asm file since part 3 includes part 2 and part 2 includes part 1). Necessary comments are needed in your code.

This code should be in assembly language.

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

Step: 3

blur-text-image

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

Harness The Power Of Big Data The IBM Big Data Platform

Authors: Paul Zikopoulos, David Corrigan James Giles Thomas Deutsch Krishnan Parasuraman Dirk DeRoos Paul Zikopoulos

1st Edition

ISBN: 0071808183, 9780071808187

More Books

Students also viewed these Databases questions

Question

Explain the function and purpose of the Job Level Table.

Answered: 1 week ago