Question: Using the following assembly language instructions to write three programs: ADD (1, ACC = ACC +arg) BR (1, jump to arg) BRNEG (1, jump to
Using the following assembly language instructions to write three programs:
ADD (1, ACC = ACC +arg)
BR (1, jump to arg) BRNEG (1, jump to arg if ACC < 0)
BRZNEG (1, jump to arg if ACC <= 0) BRPOS (1, jump to arg if ACC > 0) BRZPOS (1, jump to arg if ACC >= 0) BRZERO (1, jump to arg if ACC == 0)
COPY (2, arg1 = arg2)
DIV (1, ACC = ACC / arg)
MULT (1, ACC = ACC * arg)
READ (1, arg=input integer)
WRITE (1, put arg to output as integer)
STOP (0, stop program)
STORE (1, arg = ACC)
SUB (1, ACC = ACC - arg)
NOOP (0, nothing)
LOAD (1, ACC=arg)
ADD, DIV, MULT, WRITE, LOAD, SUB can take either variable or immediate value as the arg: immediate value is positive integer or negative integer
PUSH (0, tos++)
POP (0, tos)
STACKW (1,stack[tos-arg]=ACC)
STACKR (1,ACC=stack[tos-arg]) PUSH/POP are only means to reserve/delete automatic storage. STACKW/STACKR n - these are stack write/read instructions. n must be a non-negative number, and the access is to nth element down from TOS, top of stack NOTE: tos points to the topmost element on the stack Storage directives XXX val XXX is a name val is the initial value all storage and ACC size are signed 2 bytes Storage name and label are all names starting with latter and following with letters and digits up to eight total.
The tasks are to write the following programs:
Program 1. Write a program that will read numbers until -1 is entered on the keyboard.
Program 2. From a copy of Program 1, make a program that reads in numbers until -1 is entered and then display the sum of all single digit numbers that were entered.
Program 3. From a copy of Program 2, make a program that reads all the values AFTER -1 is entered that displays all the numbers entered followed by the sum of the numbers. Use the stack for this program.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
