Dotaz na funkcionalitu IDA
Michal HW
michalgregor@centrum.cz
Úterý Září 30 08:39:15 CEST 2008
Napiste to v C....
Pro slozitejsi datove struktury je prace v ASM pekna fuska.
Celkem jsem nepochopil o co Vam jde. Chcete rezervovat pamet na adrese 1280?
org 1180
Referencni_Tabulka_ROM:
db 0,0,0,0,0
db 0,0,0,0,0
...
org 5000
Referencni_Tabulka_RAM:
db 0,0,0,0,0
db 0,0,0,0,0
Michal Gregor
----- Original Message -----
From: Pavel Troller
To: hw-list@list.hw.cz
Sent: Tuesday, September 30, 2008 7:14 AM
Subject: Dotaz na funkcionalitu IDA
Zdravím,
mám tu nějaký binární kód z '51 rodiny a snažím se vytvořit korektní
reference na datové zóny (někdy ale i rozskokové tabulky a další struktury
přímo v kódovém segmentu). Bohužel '51 je velmi omezený asm, prakticky
bez 16bit operací, a tak se často vyskytují např. tyto sekvence kódu:
MOV RAM_32,#0x12 ; High byte of source address
MOV RAM_33,#0x80 ; Low byte of source address
MOV RAM_34,#0xC2 ; High byte of dest address
MOV RAM_35,#0x24 ; Low byte of dest address
MOV RAM_36,#0x00 ; High byte of length
MOV RAM_37,#0x80 ; Low byte of length
LCALL COPY ; Copy from ROM to XRAM
Jak asi chápete, subrutina COPY používá adresy RAM 32-37 jako parametry pro
zadání bloku, který se má kopírovat.
Nyní jde o to, že tak, jak kód vypadá, IDA samozřejmě nevytvoří na adrese
1280 odkaz, že tato adresa je používána právě z tohoto místa, takže toto místo
v ROM zůstane jako nereferencované. Nápodobně není vyznačena cílová adresa
v zóně externí RAM.
Existuje nějaký trik, jak to, nejlépe hromadně, tomu programu vysvětlit, aby
byl schopen takto skryté reference najít ? Obvykle disassembluji z trošku
lepších platforem, kde jsou 16bitové a 32bitové operace samozřejmostí, takže
jsem se s tímhle problémem dosud nesetkal... Je to IDA 5.
S pozdravem Pavel Troller
_______________________________________________
HW-list mailing list - sponsored by www.HW.cz
Hw-list@list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list
------------- další část ---------------
HTML příloha byla odstraněna...
URL: http://list.hw.cz/pipermail/hw-list/attachments/20080930/5cd39937/attachment-0002.htm
Další informace o konferenci Hw-list