Forklar mig et lille assemblerprogram
Er der nogle, der kan forklare mig kort (selvfølgelig gerne mere uddybende), hvad der sker i hver enkelt linie her, og hvad der bliver lagt i destinationsregistrene. Jeg vil meget gerne finde ud af, hvad "numbers" indeholder efter programafvikling. Mit eget bud ses nederst.-----------
.
.
10. andcc %r10, 0, %r10
11. addcc %r0, 1, %r2
12. again: addcc %r10, -36, %r0
13. be stop
14. st %r2, %r10, [numbers]
15. addcc %r2, %r2, %r2
16. addcc %r10, 4, %r10
17 ba again
18. stop: jmpl %r15+4, %r0
.
.
311 .org 3012
312 numbers: .dwb 9
.end
.
.
-------------
10. %r10 nulstilles
11. %r2 sættes lige 1
12. Træk 36 fra %r10
13. Gå til "stop" hvis %r10 er lig ?
14. Noget bliver lagt i [numbers] ?
15. %r2 sættes lig 2
16. Der lægges 4 til %r10
17. Gå altid til "again"
18. Forlad programmet (fortsæt ved PC)
311. [numbers] starter ved adresse 3012 ?
312. Afsæt 9 ord (36 bytes) til [numbers] ?
