Question: Some computer instruction sets permit arithmetic instructions with three operands. Such operations sometimes appear in simple virtual assemblers used to introduce students to the concept

Some computer instruction sets permit arithmetic instructions with three operands. Such operations sometimes appear in simple virtual assemblers used to introduce students to the concept of assembly language or using intermediate language in compilers. In the following macros, assume EAX is reserved for macro operations and is not preserved. Other registers modified by the macro must be preserved. All parameters are signed memory doublewords. Write macros that simulate the following operations:

a. add3 destination, source1, source2

b. sub3 destination, source1, source2 (destination = source1 - source2)

c. mul3 destination, source1, source2

d. div3 destination, source1, source2 (destination = source1 / source2)

For example, the following macro calls implement the expression x = (w + y) * z:

.data temp DWORD ?

.code add3 temp, w, y ; temp = w + y mul3 x, temp, z ; x = temp * z Write a program that tests your macros by implementing four arithmetic expressions, each involving multiple operations.

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 Implementing Programming Languages Questions!