0 Daumen
146 Aufrufe

Frage:

was bedeuten die einzelnen zeilen übersetzt?

Was ich bisher mir denke:

1. Zeile: legt Wert von cnt in R3 ab

2. Zeile: keine ahnung was der unterschied zwischen R3 und eckige klammern R3 ist.

3. Zeile: legt Wert 1, als konstante, in R1 ab

4. Zeile: ab hier nie Loop und es legt R0 auf den Stack

5. Zeile: keine ahnung was hier im println passiert

6. Zeile: subtrahiert (R0 = R1 - R0)

7. Zeile: keine ahnung

8. Zeile: jump end, also schluss

9. Zeile: wertzuweisung von cnt, aber keine ahnung was db bedeutet

10. Zeile: schluss

Code:

blob.png

Text erkannt:

\begin{tabular}{lll}
& MOV & R3, cnt \\
& LOAD & R0, [R3] \\
& MOV & R1, \#1 \\
loop: & PUSH & R0 \\
& CALL & printIn \\
& SUB & R0, R1 \\
& JNZ & loop \\
& JMP & end \\
& & \\
cnt & db & 10 \\
end: & &
\end{tabular}

Avatar von

Zeile 7: JNZ steht vermutlich für Jump if Not Zero. Wenn das Zero-Flag rückgesetzt ist, springe nach loop. Das ist der Fall, wenn das Ergebnis der vorangegangenen Subtraktion nicht Null ist.

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community