mapa paměti
Moderátor: Moderátoři
mapa paměti
Jinak bys věděl, že jde o jazyk symbolických adres, který při překladu do strojového kódu ty symboly nahradí adresami skutečnými a symboly se nikam neukládají.
Ve zdrojovém kódu se při překladu vytvoří tabulka skutečných adres, ale to je také naposledy, co ji lze vidět. Do procesoru se už pálí s adresami z té tabulky. Bez symbolických názvů.
Při zpětném překladu se ti v instrukcích skoků a volání a v definicích objeví místo symbolu adresa, které byl symbol přiřazen.
Na tobě je, dát těm adresám jména - disassembler je nemá kde vyčíst.
Stejně jako komentáře, kterými si při psaní programu ulehčuješ orientaci, procesor na nic nepotřebuje a jen by tam překážely, proto se nepřekládají a neukládají.
Jednoduše - takový software neexistuje. Leda křišťálová koule.
Ukázka výpisu paměti:
Kód: Vybrat vše
|........|...............|...................................................|
|P3.0 |- |RXD - RS232 |
|P3.1 |- |TXD - RS232 |
|P3.2 |PULS_C |Pulsy z inkrementálního snímače spojky |
|P3.3 |NC |nezapojeno |
|P3.4 |DIR_C |Směr posunu spojky |
|P3.5 |NC |nezapojeno |
|P3.6 |SEN_C2 |Pravý dorazový senzor spojky |
|P3.7 |SEN_C1 |Levý dorazový senzor spojky |
|........|...............|...................................................|
|nastavení pohoné jednotky |
|20h.0 |EnMov |0/1 - robot nejede/jede |
|20h.1 |DirMov |0/1 - pohyb robota dozadu/vpýed |
|20h.2 |EnClu |0/1 - spojka(clutch) - vykonej akci ne/ano |
|20h.3 |LClu |0/1 - nastav spojku doleva ne/ano |Že by to kompilátory pro 2051 neuměly, když tu tabulku stejně potřebují?
Zkus najít jiný kompilátor na www.kvetakov.net