assembly - 学习组装

标签 assembly

关闭。这个问题是opinion-based .它目前不接受答案。












想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.

4年前关闭。



Improve this question




我决定学习汇编语言。这样做的主要原因是能够理解反汇编代码,并且可能能够编写更高效的代码部分(例如,通过 C++),做一些像代码洞穴之类的事情。我看到有无数不同风格的汇编,所以,对于我提到的目的,我应该如何开始?我应该学习什么样的组装?我想通过首先做一些简单的程序(即计算器)来学习,但目标本身将是熟悉它,以便我可以理解显示的代码,例如,由 IDA Pro。

我正在使用 Windows(如果这有什么不同的话)。

编辑:所以,似乎每个人都指向 MASM。尽管我认为它具有高级功能,对汇编代码程序员来说都很好,但这不是我想要的。它似乎具有流行的反汇编程序(如 IDA)中未显示的 if、invoke 等指令。所以如果可能的话,我想听听任何使用 ASM 的人的意见(在 IDA 中阅读反汇编的 exe 代码),而不仅仅是“通用”汇编程序员。

编辑:好的。我已经在学习汇编了。我正在学习 MASM,而不是使用对我来说无关紧要的高级东西。我现在正在做的是在 C++ 中的 __asm 指令上尝试我的代码,所以我可以比使用 MASM 从头开始​​做所有事情的速度更快。

最佳答案

MASM32 开始从那里看 FASM .但是您会在 MASM 中获得乐趣。

关于assembly - 学习组装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1360279/

相关文章:

assembly - 设计 AT&T 汇编语法的最初原因是什么?

assembly - 如何防止 GNU ld 对目标文件重新排序?

assembly - x86_64 Linux 函数和系统调用之间的 ABI 差异

c - GNU 内联汇编程序——汇编指令的语法?

delphi - 删除用纯汇编编写的函数的序言

用于汇编样式十六进制数字的 C# 正则表达式

.s文件可以直接执行吗?

c - 如何通过汇编代码找到固定长度的多维数组?

assembly - x86-64 规范地址?

assembly - 如果前32个中断是为异常保留的,定时器中断怎么可能是0x08?