如何在IDA Pro中重命名8051位可寻址RAM?

时间:2017-07-06 12:31:43

标签: assembly ida 8051

我需要在8051微控制器中重命名一个位可寻址的RAM位置。 我使用IDA PRO来反汇编二进制文件,输出如下:

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

我可以重命名端口P1或内存RAM_29,但是如何重命名这些变量的每一位?在IDA PRO反汇编程序中是否可以执行以下操作:

(clr TXpin)

而不是

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

1 个答案:

答案 0 :(得分: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.0RELAY.1,依此类推。

您可以为同一位分配多个名称;见上面的ACC.7