2017-07-06 104 views
2

我需要在8051微控制器中重命名RAM的位尋址位置。 我用IDA Pro來反彙編二進制文件,並輸出結果如下:如何在IDA Pro中重命名8051的位尋址RAM?

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

我可以重新命名端口P1或內存RAM_29,但我怎麼可以重命名這些變量的每一位?是否有可能在IDA Pro反彙編做這樣的事情:

(clr TXpin) 

,而不是

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

回答

0

使用Metalink公司的ASM51,我這樣做:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
;          ; 
;  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 

對於任何端口(或地址)這是位尋址,Px.yAddrx.y將解析爲一個數字,所以你可以在它上面使用EQU。與Px一樣,所以您可以看到我命名爲P0 RELAY - 稍後我可以使用RELAY.0,RELAY.1等等。

您可以將多個名稱分配給同一位;見上面的ACC.7

+0

Metalink的ASM51不是IDA Pro。 –