2017-07-06 3 views
2

Je dois renommer un emplacement adressable par bit de RAM dans le microcontrôleur 8051. Je utilisé IDA PRO pour désassembler un fichier binaire, et la sortie ressemble à ceci:Comment puis-je renommer un peu de RAM adressable de 8051 dans IDA Pro?

clr RAM_29.3  
clr RAM_29.7  
clr P1.5  

Je peux renommer Port P1 ou RAM_29 mémoire, mais comment puis-je renommer chaque bit de ces variables? Est-il possible dans l'IDA PRO désassembleur de faire quelque chose comme:

(clr TXpin) 

au lieu de

(clr P1.5)  ------- (P1.5 == TXpin) 

Répondre

0

En utilisant ASM51 de Metalink, je fais ceci:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
;          ; 
;  Port pin assignments   ; 
;          ; 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
             ; 
LCD_RS   equ  acc.5   ; We operate on LCD bits in 
LCD_E   equ  acc.6   ; the accumulator because 
LCD_RW   equ  acc.7   ; P4 is not bit-addressable 
LCD_BF   equ  acc.7   ; 
             ; 
RELAY   equ  P0    ; Relays are on P0.0-P0.3 
             ; 
DRDY   equ  P0.7   ; SPI pacing from keypad IC 
             ; 
PIEZO_PIN  equ  P1.7   ; Beeper output pin 

Pour tout port (ou adresse) c'est-à-dire bit-addressable, Px.y ou Addrx.y résoudra à un nombre, et ainsi vous pouvez employer EQU là-dessus. La même chose avec Px, de sorte que vous pouvez voir que j'ai nommé P0 RELAY - plus tard, je peux utiliser RELAY.0, RELAY.1, et ainsi de suite.

Vous pouvez affecter plusieurs noms au même bit; voir ACC.7 ci-dessus.

+0

L'ASM51 de Metalink n'est pas IDA Pro. –