ASM51 s 89c2051 a ERROR #18: Target address exceeds relative address range, už nevim co s tim – Mikrokontroléry – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

ASM51 s 89c2051 a ERROR #18: Target address exceeds relative address range, už nevim co s tim – Mikrokontroléry – Fórum – Programujte.comASM51 s 89c2051 a ERROR #18: Target address exceeds relative address range, už nevim co s tim – Mikrokontroléry – Fórum – Programujte.com

 

MilanZa0
Duch
17. 3. 2010   #1
-
0
-

Zdravim,mohl by mi někdo prosím poradit, proč překladač píše tuto chybu ? Jakoby byl překročen rozsah adres pro skoky,ale program není velký. Chyba na řádku 63. Zkoušel jsem kde co,ale tuhle podmínku už mi to nevezme. Zde je část s chybou, případně pošlu celé.
Děkuji moc za případný nápad.

0026 C2B2 45 CLR LED
0028 7D2C 46 MERI: MOV R5,#44 ;46*10ms=500ms test 4,347KW [W=1/t x 2000] W,s
002A B2B7 47 cpl mer
002C 20B354 48 SMI4: JB IMP,JE4KW ;proved funkce pri 4,3KW
002F 120104 49 CALL WAIT10
0032 DDF8 50 DJNZ R5,SMI4
0034 B2B7 51 CPL MER
0036 7D0E 52 MOV R5,#14
0038 20B363 53 SM3: JB IMP,JE3KW ;proved funkce pri 3,3KW
003B 120104 54 CALL WAIT10
003E DDF8 55 DJNZ R5,SM3
0040 B2B7 56 CPL MER
0042 7D1B 57 MOV R5,#27
0044 20B372 58 SX2: JB IMP,JE2KW ;proved funkce pri 2,3KW
0047 120104 59 CALL WAIT10
004A DDF8 60 DJNZ R5,SX2
004C B2B7 61 CPL MER
004E 7D43 62 MOV R5,#67
0050 20B300 63 SX1: JB IMP,J1KW ;proved funkce pri 1,3KW
****---------------------------------------^
****ERROR #18: Target address exceeds relative address range
0053 120104 64 CALL WAIT10
0056 DDF8 65 DJNZ R5,SX1
0058 B2B7 66 CPL MER

Nahlásit jako SPAM
IP: 81.201.60.–
MilanZa0
Duch
17. 3. 2010   #2
-
0
-

Z programu jsem musel vypustit jednu čekací smyčku,ve které bylo testování vstupu. Tím se jakoby uvolnila adresa, a program to přeložilo v pořádku. Nechápu ale proč je to takhle omezené,kolik testování pinů je možné v programu provádět, a jak se případně vyhnout tomuto omezení. Myslel jsem že testování JB,CALL,DJZ apod není omezeno. Za případné nápady děkuji.

Nahlásit jako SPAM
IP: 81.201.60.–
AB
~ Anonymní uživatel
41 příspěvků
17. 3. 2010   #3
-
0
-


Skok nemůže být delší než 255 adres.
Jinak je třeba použít např.

SX1:  JNB IMP,L1

AJMP J1KW
L1:

Nahlásit jako SPAM
IP: 217.115.249.–
MilanZa0
Duch
17. 3. 2010   #4
-
0
-

Děkuji za odpověď, skok od JNB nemůže být delší než 255 adres, nebo žádný skok (ani skok za návěstím příkazem JMP). Případně jestli jde potom nějak ovlivnit aby bloky kam se skáče byly při překládání uloženy za sebe. Přišlo mi že by to i v tomto programu nemělo být dále než 255 adres.

Nahlásit jako SPAM
IP: 81.201.60.–
AB
~ Anonymní uživatel
41 příspěvků
18. 3. 2010   #5
-
0
-

Musím se opravit. U instrukcí jako JB je skok určený hodnotou jednoho znaménkového bajtu.
Takže rozsah je -128 až +127 adres.
AJMP má rozsah 2 kB, stačí např. pro celou paměť 2051.
LJMP a JMP mají rozsah 65 kB.

Případně jestli jde potom nějak ovlivnit aby bloky kam se skáče byly při překládání uloženy za sebe.


Bloky jsou uloženy tak jak je napíšeš.
Ale než si lámat hlavu s tím aby všude vyšly tyhle krátké skoky, je jednodušší použít to co jsem navrhl.

Nahlásit jako SPAM
IP: 217.115.249.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 6 hostů

Podobná vlákna

Error 207, zaboha nevim co s tim — založil fak.gesho

Hledaní hodnoty v range. — založil Frantisek Rad

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý