Max Value in Assembly

Aufrufe: 1084     Aktiv: 18.03.2021 um 09:12

0

Hallo zusammen

Wie sieht man, dass es sich um die max Werte geht? Wie sieht man das es sich um das Max Value handelt? Ich verstehe , was jede Zeile macht ja, aber ich verstehe nicht, wie ich genau herausfinden soll, dass es sich um max value handelt?

enter image description here

Diese Frage melden
gefragt

Student, Punkte: 66

 

Wenn du verstehst, was jede Zeile macht, kannst du jede Zeile mal in eine Zeile einer "höheren" Programmiersprache übersetzen? (z.B. PHP, Python, Javascript, ...)

  ─   lerneninverschie 13.03.2021 um 02:06
Kommentar schreiben
1 Antwort
0

Hallo sayuri, ich habe mich mal mit dem MIPS Assembler beschäftigt und hoffe deine Frage beantworten zu können. Deine Frage war wie du erkennen kannst, dass es sich um MAX Wert handelt. Das machen folgende Zeilen:

sltu $t2, $t1, $v0 -> Vergleicht das bisherige Ergebnis in v0 mit dem neuen Wert in t1. In „C“ etwa: t2=(t1 < v0) ? 1:0;

bne $t2, $zero, skip -> wenn der Vergleich NICHT 0 ist, war t1 kleiner als das bisherige und es geht direkt nach „skip“. Wenn nicht wird der dann größere Wert in v0 für den nächsten Vergleich abgelegt und der „Zählwert“ aus t0 in v1 abgelegt. Am Ende enthält v0 den größten aller Werte und v1 die Position im Array die diesen höchsten Wert enthält. Ich hoffe alles richtig interpretiert zu haben. MIPS ist nicht meine Kernkompetenz, habe aber schon einige Assembler kennengelernt. Gruß jobe

Diese Antwort melden
geantwortet

Sonstiger Berufsstatus, Punkte: 505

 

Kommentar schreiben