Registry X, Y a Z

Z MAM wiki

Verze z 28. 6. 2012, 18:36; Hanzl (diskuse | příspěvky)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Přejít na: navigace, hledání

Tyto šestnáctibitové registry jsou ve skutečnosti jen jinak pojmenované dvojice osmibitových pracovních registrů R s nejvyššími čísly:

  • Z=R31:R30, používaný k adresování datové paměti RAM i programové paměti FLASH
  • Y=R29:R28, adresování RAM
  • X=R27:R26, adresování RAM


Kdybychom například chtěli vynásobit byte uložený v paměti na šestnáctibitové adrese R23:R22 druhým bytem na adrese R25:R24 a součin vrátit také v R25:R24, jde to nějak takhle:

movw R30, R22       ; lze psat i movw R31:R30, R23:R22
ld R0, Z            ; cteni z adresy R31:R30
movw R30, R24
ld R1, Z
mul R0, R1          ; R1:R0 = R0 * R1
movw R24, R0
Osobní nástroje