Write a program to evaluate the arithmetic statement 𝑥 = −𝑏 + (𝑏 ∗ 𝑏 − 4 ∗ 𝑎 ∗ 𝑐)/ 𝐶 + 𝐻 i. Using a general register computer with 3 address constructions ii. Using a stack organized computer with zero address operation instructions.
i)
MUL R1, b, b R1 M[b]*M[b]
MUL R2, 4, a R2 M[4]*M[a]
MUL R2, R2, c R2 R2*c
SUB R1, R1, R2 R1 R1-R2
SUB R1, R1, b R1 R1-M[b]
ADD R3, C, H R3 M[C]+M[H]
DIV X, R1, R3 X R1/R3
ii)
PUSH 4 TOS 4
PUSH a TOS a
PUSH c TOS c
MUL TOS(4*a)
MUL TOS(4*a*c)
PUSH b TOS b
MUL TOS (b*b)
SUB TOS ((b*b)-(4*a*c))
SUB TOS(((b*b)-(4*a*c))-b)
PUSH TOS C
PUSH TOS H
ADD TOS(C+H)
DIV TOS (((b*b)-(4*a*c))-b)/(C+H)
POP X M[X] TOS
Comments