Stránka 1 z 1
simulátor MCU 8051 IDE
Napsal: 06 úno 2011, 23:24
od Milan121
Používáte někdo tento simulátor/editor?učím se v něm dělat a narazil jsem na následující problém.Pokud nadeklaruji např registr1 jako ABC tak mi při použití ve funkci CJNE hlásí chybu.
Pokud napíši R1 je bez problémů ( CJNE R1,#120D,xzy )
Je zde použit(implementován) překladač ASEM-51,vím že na starém ASM51 to chodilo.
USING 0
ABC equ AR1
.
.
.
CJNE ABC,#120D,xzy
Napsal: 06 úno 2011, 23:26
od Andrea
AR1 je co za registr?
Napsal: 06 úno 2011, 23:38
od Milan121
to je R1
AR0 - AR7 = R0 - R7
tam se musí tak zapisovat
použití banky registrů USING 0 - USING3
USING 0
ABC equ AR1
USING 1
DEF equ AR1
Napsal: 06 úno 2011, 23:48
od Andrea
Já ti nějak nevim, ale AR1 není totéž co R1.
The EQU instruction defines a symbol for a numeric constant or a register. If a numeric expression <expr> is assigned to the symbol, it will be of the type NUMBER. If a register <reg> is assigned to the symbol, it will be of the type REGISTER. <reg> may be one of the special assembler symbols A, R0, R1, R2, R3, R3, R4, R5, R6, or R7.
Napsal: 07 úno 2011, 00:06
od Andrea
ARx nejsou registry, jsou to absolutní adresy registrů v banku nastaveném pseudoinstrukcí USING. Takže AR1 při USING 0 je 1 při USING 2 je to 17. Registr R1 je ale pořád R1, ten se bere relativně v banku nastaveném v PSW. Takže v instrukci, která vyžaduje registr jde použít jen Rx. Aspoň tak to chápu z toho, co o těch ARx píšou v manuálu ASEM-51.
Napsal: 07 úno 2011, 12:14
od Milan121
Hmm,to bude ono.Tedy pokud tam nebude jiná možnost.Dík