simulátor MCU 8051 IDE

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
Milan121
Příspěvky: 726
Registrován: 07 pro 2005, 00:00

simulátor MCU 8051 IDE

#1 Příspěvek 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
Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 00:00

#2 Příspěvek od Andrea »

AR1 je co za registr?
Uživatelský avatar
Milan121
Příspěvky: 726
Registrován: 07 pro 2005, 00:00

#3 Příspěvek 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
Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 00:00

#4 Příspěvek 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.
Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 00:00

#5 Příspěvek 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.
Uživatelský avatar
Milan121
Příspěvky: 726
Registrován: 07 pro 2005, 00:00

#6 Příspěvek od Milan121 »

Hmm,to bude ono.Tedy pokud tam nebude jiná možnost.Dík
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“