【问题标题】:Interpreting assembly code [closed]解释汇编代码[关闭]
【发布时间】:2010-10-01 16:56:06
【问题描述】:

那里有汇编解释器吗?

我在寻找什么:

  • 我有一些我想运行的汇编固件代码,但不是在实际硬件上。
  • 我想运行代码,看看它在做什么。

那么,那里有某种免费且易于使用的装配模拟器吗?

你能想到的任何其他指针?

【问题讨论】:

  • 我们需要更多信息,硬件目标等?
  • 它实际上是用于 PIC 微控制器的,但现在,我只想运行汇编代码(它非常通用)
  • 有人应该为此添加一个“模拟器”或“处理器仿真”标签
  • 完成。感谢您的反馈
  • 投票结束作为工具记录

标签: assembly emulation interpreter simulation


【解决方案1】:

您应该只以“解释”程序集的方式查看某些处理器模拟器,例如:QemuBochs

【讨论】:

    【解决方案2】:

    为了运行专为特定设备设计的汇编代码,您需要使用专门模拟该设备的模拟器来运行它。像 Qemu 这样的 x86 模拟器将完全无法运行为 ARM CPU 内核编写的汇编代码。这不是“几乎可以工作”的情况,但它甚至无法运行第一条指令。

    作为mentioned by Jason S,模拟外围设备或CPU 内核之外的任何东西都非常特定于您所拥有的设备。 PCB 版本之间的细节甚至可能有所不同。

    如果您只是对汇编代码的作用感到好奇,最好坐下来阅读 CPU 参考手册,然后依次检查每条指令。如果您打算使用此设备进行任何认真的工作,那么无论如何您最终都必须具备这些知识。

    【讨论】:

    • Nit:QEMU 不限于 x86 ;-)
    【解决方案3】:

    简短回答:是的。

    更长的答案:取决于您组装的 CPU 以及您正在连接的外围设备类型。世界上实际上有 1000 多种不同的 CPU 封装。

    【讨论】:

      【解决方案4】:

      对于 x86 汇编,您可以使用像 Bochs 这样的 x86 PC 模拟器。

      【讨论】:

        【解决方案5】:

        可能,但请注意,模拟核心指令集是一回事,而处理外围设备则是另一回事。

        如果您只是模拟一种对数据进行操作的算法,您可能只需要模拟 CPU 内核就可以逃脱。

        如果您需要模拟模数转换器或 UART 或 PWM 驱动器,那就另当别论了。 CPU 核心指令集(通常)被很好地指定到可以很好地模仿它的行为的地步。指定外设只是为了显示它们的功能要求,而不是保证它们的行为足够精确以制作模拟器,而不必知道它们是如何实现相关外设的。

        【讨论】:

          【解决方案6】:

          如我所见,您有 dsPIC30F4011 的汇编代码。此代码专用于此 RISC Microchip 机器。您需要为 dsPIC 下载 IDE,我建议从 MPLAB 下载, https://www.microchip.com/mplab/mplab-x-ide。 之后,尝试为 dsPIC30F4011 创建项目并添加您的汇编文件。然后尝试我们的模拟器,看看你的代码在做什么。这对于开始来说已经绰绰有余了。

          【讨论】:

            猜你喜欢
            • 2014-09-30
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-09-03
            • 1970-01-01
            • 2016-12-22
            相关资源
            最近更新 更多