Wenn die Register knapp werden und man 2 Register vertauschen muss, kann man sich den Umweg über ein 3. Register als Zwischenspeicher sparen: 1. Möglichkeit: Stack Unpraktisch, da pop und push jeweils 2 Takte brauchen. push R1 push R2 pop R1 pop R2 2. Möglichkeit: XOR Besser, eor benötigt nur 1 Takt. eor R1, R2 eor R2, R1 eor R1, R2
Gast
#8151
zu 2. Möglichkeit: Hallo Andreas, sogar mein EDV-Prof ( Prof. Kanne Bochum ) kannte keine bessere Lösung. Einfach genial. Genial einfach. Bernhard
Jeder Prozessor hat so seine eigenen Tricks. Beim 8051 geht das z.B. so: xch a, r0 xch a, r1 xch a, r0 Damit sind R0 und R1 vertauscht und ACC unverändert. Vorteil beim 8051: Das geht nicht nur mit den 32 Registern sondern mit allen 128 Bytes im RAM: xch a, 055h xch a, 077h xch a, 055h Peter
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.