2016-04-06 18 views
1

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!

+0

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 –

Antwort

0

Ich habe Ihren Code nicht vollständig gelesen, aber ich stieß auf ein ähnliches Problem und so habe ich Ihren Beitrag gefunden. Ive arbeitete gerade heraus, wie die Register löschen Sobald Sie die AC einfach speichern die gelöscht AC auf die Variablen gelöscht

Clear Store n Store next Store large

Dieser der AC-Wert zuweisen sollte die 0 bis Ihre Variablen ist Sorry, wenn dies wasn‘ t Ihr Problem, aber ich hoffe, ich konnte helfen

Verwandte Themen