CPU: The CPU consists of 8 general-purpose registers R0 to R7, an Instruction Register (IR), and a program counter (PC). The length of each register is 1 word, which is the same as 4 bytes or 32 bits.
Memory: The memory is split into 4 blocks of 2k words each. Each word in memory is byte-addressable. For example, the address of the 1st word in memory is 0, the second word is 4, and so on. The first two blocks are for OS usage, and the remaining blocks are for users' jobs.
One word is transferred between memory and CPU or IO device and memory for LOAD, STORE, READ, and WRITE instructions.
Assembly Language Instructions:
LOAD R X (load register R with memory location X)
STORE R X (store the content of register R in memory location X)
READ X (Read a value from the default input device to memory location X)
WRITE X (Write the content of memory location to the default output device)
SUM R1 R2 (Add R1 and R2 and store the result in R1)
SUB R1 R2 (Subtract R2 from R1 and store the result in R1)
MULT R1, R2 (Multiply R1 and R2 and store the result in R1)
HALT (Halt the execution of the program)
You are required to write an assembly language program that reads two values X and Y from the standard input device and then computes and prints the result of the product of X and Y to the standard output device.