我想编写一个脚本,它以x86汇编语言代码作为输入,并生成注释以解释程序中每个语句的作用。像这样的工具已经存在了吗?此外,这是一个相对简单的程序来编写(因为每个汇编语言语句的语法是相对简单的?)为汇编语言程序中的每条语句生成说明
1
A
回答
4
我从来没有听说过一个。我认为这是一个很好的理由。
如果您查看CPU文档中的说明,例如int
或iret
指令,您将看到多页文本和伪代码。
大多数像mov
这样的常规指令也有一些窍门。首先,他们可能有一些不平凡的行为细节。其次,它们可能会导致异常并完全记录发生异常后发生的情况,这是不切实际的,因为这取决于操作系统和程序的其他部分。
所以,这样的工具真的会有一个非常有限的应用。
在任何情况下,了解每条指令的最佳方式是将读取CPU文档与调试器一起播放。
0
创建程序来完成此操作可能是学习汇编语言的好方法。如果您有一些现有的汇编代码,但您不知道它的作用,请使用相关的汇编参考手册以及您最喜欢的语言中的一些相对简单的字符串解析代码来帮助学习汇编指令集。
您可能会发现只有少数指令类型构成了大部分汇编代码的大部分。在汇编层面,计算机所做的大部分工作是:复制数据,算术,重复和比较。
相关问题
- 1. 汇编语言操作数说明符
- 2. LC3汇编语言程序
- 3. 汇编语言子程序
- 4. 汇编语言条件
- 5. 汇编语言程序中的部分
- 6. MIPS汇编语言if else语句
- 7. 编程语言X中的一条语句生成多少行机器码?
- 8. sicxe汇编语言编程
- 9. 单步执行汇编语言程序一次只能执行一条语句
- 10. 从汇编语言编写C程序
- 11. 汇编语言
- 12. 汇编语言?
- 13. 将汇编语言宏转换为纯汇编语言
- 14. SQL CASE语句对战条件语句编程语言
- 15. 无法在8051汇编编程语言中声明过程
- 16. 汇编语言源格式化程序
- 17. 汇编语言简单程序
- 18. 混合汇编语言和C程序
- 19. 汇编语言:宏vs程序
- 20. 学习x86汇编语言。需要一些说明
- 21. 汇编语言 - 指令和说明;移动字节
- 22. .NET汇编语言
- 23. SPARC汇编语言
- 24. x86汇编语言
- 25. 汇编语言环
- 26. CMP汇编语言
- 27. 汇编语言Bubblesort
- 28. 汇编语言IA32
- 29. ARMv6汇编语言
- 30. 汇编语言 - LDI
生成评论,说*每个语句正在做什么是相对简单的。生成说*为什么*代码正在做的评论将是革命性的! – 2012-07-14 04:12:15
你在找什么(例如)将'mov rax,rbx'变成“将寄存器rax中的值复制到寄存器rbx中”? – huon 2012-07-14 05:16:16
@dbaupp,这正是我想要做的。 :) – 2012-07-14 14:57:33