Finish converting the high-level language instruction to an assembly language instruction.

1)
z = Input()
(Assume z is associated with M[7])
Input

Check

Show answer
Incorrect

Into what memory location is the input value stored?
2)
x = y + z
(Assume x is M[5], y is M[6], and z is M[7].)
Add M[5]
M[7]

Check

Show answer
3)
x = 2 * y
(Assume x is M[5], y is M[6])
Add
M[6]

Check

Show answer
4)
x = y + y + y
(Assume x is M[5], y is M[6], and that the command Add M[5] M[6] M[6] has already been entered)
Add M[5] M[6]

1 answer

To convert the high-level language instructions to assembly language instructions, we need to follow the semantic operations indicated in each statement. Here's the continuation for each of the points you've provided:

  1. For the instruction Input, you want to load the value into memory location associated with z, which is M[7]. Assuming there is a command to read input, it would typically look like this:
Input M[7]     ; Store the input value from the user into memory location M[7]
  1. The operation x = y + z should add the values stored in M[6] (for y) and M[7] (for z) and store the result in M[5] (for x). The assembly operation for this would look like this:
Add M[6]       ; Add the value of M[6] (y) to the accumulator
Add M[7]       ; Add the value of M[7] (z) to the accumulator
Store M[5]     ; Store the result in M[5] (x)
  1. For the operation x = 2 * y, you want to add y to itself and store the result in x. Since y is in M[6], it would look like this:
Add M[6]       ; Add the value of M[6] (y) to the accumulator
Add M[6]       ; Add the value of M[6] (y) again to the accumulator
Store M[5]     ; Store the result in M[5] (x)
  1. For the instruction x = y + y + y, since you mentioned the command Add M[5] M[6] M[6] has already been entered (which adds y to itself once and stores it in x), we should complete the remaining addition of y:
Add M[6]       ; Add M[6] (y) to the result (which is currently in M[5])
Store M[5]     ; Store the final result back in M[5] (x)

This series of instructions should adequately represent the intended operations in assembly language.