IDA Pro - 如何删除寄存器的多行位定义

逆向工程 艾达 拆卸 部件 工具 登记
2021-07-04 02:29:11

我刚刚开始反转一些微控制器代码并设置了 RAM、ROM 和 SFR(特殊功能寄存器)段。我选择了我的处理器架构,它自动正确地命名了大部分寄存器。然而,有一些是不正确的(我认为这是由于架构系列中特定芯片之间的差异)。

对于大多数寄存器来说,这不是问题,因为我可以简单地重命名和重新注释它们。但是,有些寄存器标有特定位,我已尽我所能将其删除。我可以重命名寄存器本身并对其进行重新注释,但我无法修改或删除位特定字段。

在图像中,我已将 002C 处的寄存器重命名为“VW2C”并添加了正确的注释。以前的名称是“dm0con”。可以看出,位特定字段仍然存在,尝试重命名或重新注释它们只是编辑实际的寄存器本身。

我在网上搜索过,但很难找到答案,因为我什至不确定这些字段的正确名称是什么。我已经浏览了所有的工具栏和子菜单,但无法摆脱这些位特定的定义。

在此处输入图片说明

1个回答

支持它们的处理器的 I/O 寄存器名称和位布局存储在特定于处理器的.cfg文件中。对于 M16C,文件是m16c60.cfgm16c80.cfg

dm0con                0x2c     DMA0 control register
dm0con.dmbit_dm0con   0        Transfer unit bit select bit
dm0con.dmasl_dm0con   1        Repeat transfer mode select bit
dm0con.dmas_dm0con    2        DMA request bit
dm0con.dmae_dm0con    3        DMA enable bit
dm0con.dsd_dm0con     4        Source address direction select bit
dm0con.dad_dm0con     5        Destination address direction select bit

您可以编辑默认寄存器或.m16c以新名称复制默认设备部分,并在加载时选择它。

在此处输入图片说明