Ich habe hier ein Programm, das ein Array von 10 Ganzzahlen erstellt und den Benutzer auffordert, das Limit für die auszuwertenden Zahlen zu erstellen. Wenn Sie beispielsweise eine 7 eingeben, werden die Zahlen 1-7 im Array ausgewertet. Aufgrund meiner Indexierungsmethoden beginne ich bei 1, nicht bei 0. Von den gewählten Nummern soll die maximale Anzahl gespeichert und in einer Ausgabe ausgedruckt werden. Funktioniert alles; Ich kann das Programm jedoch nicht mehrmals ausführen. Ich muss den Simulator jedes Mal manuell zurücksetzen, um ein genaues Ergebnis zu erhalten, da nur der AC gelöscht wird, wenn ich den Befehl hinzufüge. Ich habe mich gefragt, ob es einen Befehl gab, der die Register vollständig löschte, ohne das Dropdown-Menü im MARIE-Jar zu verwenden? Hier ist mein Code:Reset-Befehl in 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
Vielen Dank!
Auch ich war nicht ganz sicher, wo ich das fragen soll. Mein MARIE-Simulator läuft auf einem Glas, also fragte ich im Java-Bereich, aber wenn ich falsch liege, lass es mich wissen. Danke noch einmal –