This assignment is due in class on Thursday, 23 April or to my office assistant in RH 215 by 4:30 pm on 23 April.
Using the techniques presented in class on April 7 and
discussed in Chapter 10 of the textbook,
translate the following mathematical assignment into
LC-3 code using PUSH
, POP
,
OpAdd
, and OpMult
functions called with the JSR
instruction.
r = (a + b) * (c + d) + e
Assume that a
, b
, c
,
d
, e
, and r
have all been defined with .FILL
pseudo-instructions
for your program.
Your LC-3 code should be about 15 lines long and start with something like the following instructions.
LD R2,a JSR PUSH LD R2,b JSR PUSH JSR OpAdd
Assuming that x
, y
, and
z
reside at the offsets from R5
given in the following table.
variable | offset |
---|---|
x |
4 |
y |
-3 |
z |
0 |
Write the four LC-3 instructions needed to execute the following code:
z = x + y