Marie assembly Code from average to subtraction

38 views Asked by At

Could someone can solve this question, i can't change it to subtraction. Could someone help even though i change the code.

LOOP, LOAD X
    SUBT TEN
    SKIPCOND 000   /if X = 10
    JUMP LOOP2     /take average after X = 10;

    CLEAR           /BEGIN INPUTING NUMBERS FOR AVERAGE
    INPUT
    STORE TEMP
    CLEAR

IF, LOAD X
    SUBT 1
    SKIPCOND 800
    JUMP STOREFIRST

    CLEAR
    LOAD TEMP
    SUBT MIN
    SKIPCOND 000
    JUMP FINDMAX

ELSE, SKIPCOND 800
    JUMP FINDMIN

CONTINUE, CLEAR
    LOAD TEMP
    ADD Y           /add Y to the input
    STORE Y         /save new value
    CLEAR
    LOAD X         /INCREMENT COUNTER
    ADD ONE
    STORE X
    CLEAR
    JUMP LOOP       /RESTART LOOP

FINDMAX, CLEAR
    LOAD TEMP
    STORE MAX
    JUMP CONTINUE

FINDMIN, CLEAR
    LOAD TEMP
    STORE MIN
    JUMP CONTINUE

STOREFIRST, LOAD TEMP
    STORE MIN
    STORE MAX
    JUMP CONTINUE

LOOP2, LOAD Y    /LOAD ALL THE ADDED NUMBERS
    SKIPCOND 800     /WHEN Y = 0
    JUMP PRINT       /GO TO OUTPUT

    SUBT TEN         /SUBTRACT 10 UNTIL REACH 0
    STORE Y          /STORE NEW NUMBER
    CLEAR
    LOAD DIFF     /EACH LOOP ADD 1 TO Difference
    ADD ONE
    STORE DIFF
    CLEAR
    JUMP LOOP2

PRINT, LOAD DIFF
    Output
    CLEAR
    LOAD MIN
    Output
    CLEAR
    LOAD MAX
    OUTPUT
    CLEAR

    HALT

TEN, DEC 10
ONE, DEC 1
X, DEC 0          /USE TO INPUT 10 NUMBERS, COUNTER
Y, DEC 0          /ALL NUMBERS INPUT ADDED 
MIN, DEC 0     
MAX, DEC 0
TEMP, DEC 0
DIFF, DEC 0    /Difference OF Y minus BY X

Could someone can solve this question, i can't change it to subtraction. Could someone help even though i change the code.

0

There are 0 answers