2016-04-06 3 views
1

У меня есть программа здесь, которая создает массив из 10 целых чисел и просит пользователя создать предел для оцениваемых чисел. Например, ввод 7 будет оценивать числа 1-7 в массиве. Из-за моих методов индексирования я начинаю с 1, а не 0. Из выбранных чисел максимальное число должно быть сохранено и напечатано на выходе. Все работает; однако я не могу запускать программу несколько раз. Я должен каждый раз переустанавливать симулятор, чтобы получить точный результат, поскольку при добавлении команды очищается только AC. Мне было интересно, есть ли какая-нибудь команда, которая полностью уничтожила регистры, не используя раскрывающееся меню в банке MARIE? Вот мой код:Сбросить команду в MARIE?

/Begin at line 100. 
org 0100 

/clear AC of previous runs. 
clear 

/user input. 
input 

/Subtract 1 due to indexing method. 
subt one 

/add location of first 
/value to input ro find limit.   
add ctr 

/store into limit variable n. 
store n 

/load first value @ location ctr. 
loadi ctr 

/first value becomes largest for now. 
store large 

/subtract ctr to begin loop @ beginning of index 
load ctr 
subt one 
store ctr 

/loop while ctr < n 
/Increment ctr. 
loop, load ctr 
add one 
store ctr 

/compare value @ ctr 
/to current largest value. 
loadi ctr 
subt large 

/stores value @ ctr 
/if greater than large. 
skipcond 800 
skipcond 000 
jump store 

/Post test 
/When ctr reaches n, 
/loop breaks to Stop. 
test, load n 
subt ctr 
skipcond 400 
jump loop 

jump Stop 

/stores variable @ address ctr 
/Reached if variable > large. 
store, loadi ctr 
store large 
jump test 

/Reached when ctr == n. 
/Outputs large and halts. 
Stop, load large 
output 

halt 

/Variables. 
/ctr begins @ location of 
/first variable in array. 
ctr, hex 122 
one, hex 1 
n,  hex 0 
next, hex 0 
large, hex 0 

/Array. 
hex 1 
hex 3 
hex 2 
hex 5 
hex 6 
hex 4 
hex 8 
hex 0 
hex 9 
hex 8 

Спасибо!

+0

Кроме того, я не был уверен, где спросить об этом. Мой симулятор MARIE работает на банке, поэтому я спросил в разделе java, но если я ошибаюсь, просто дайте мне знать. еще раз спасибо –

ответ

0

Ive не полностью читает ваш код, но я столкнулся с аналогичной проблемой, и именно так я нашел ваше сообщение. Ive просто работала, как очистить Регистры Как только вы очистили АС просто хранить очищенный переменный ток к переменным

Clear Store n Store next Store large

Это должно присвоить значение переменного тока, которая составляет от 0 до вашего переменных Извините, если это WASN» т вашу проблему, но надеюсь, что я смогу помочь

Смежные вопросы