gpt4 book ai didi

assembly - 了解哪种汇编语法和体系结构最有用?

转载 作者:行者123 更新时间:2023-12-03 11:16:34 25 4
gpt4 key购买 nike

我一直想学习汇编,但似乎有一大堆与汇编相关的信息难以解释。我不仅能够谷歌“学习组装”并开始工作。

首先,有两种类型的语法:Intel 和 AT&T。有什么不同?为什么还有两个在用?我什么时候需要使用一个而不是另一个?

其次,那里有很多筹码。 Intel 与 AMD、32 位与 64 位、x86 与其他架构……甚至 x86 也确实是一个完整的芯片系列。那么,我怎么知道我从某个网页上学习的程序集是否适用于我的机器?

存在更多的变化(操作系统甚至在决定代码的运行方式方面发挥着作用。

所以,最大的问题是,有了所有这些变量,我怎么知道我应该学习什么类型?什么是最常见的?当存在所有这些变化时,人们怎么可能“知道组装”?

最佳答案

First, there are two types of syntax: Intel and AT&T. What's the difference?



main differences是肤浅的:例如,反向操作数。

Why are there still two in use? When would I need to use one versus the other?



英特尔使用的语法与几乎所有其他处理器 ISA 文档使用的语法大不相同。

GNU as对所有平台使用 AT&T 语法,并支持 x86 和 x86_64 的 Intel 语法。

其他汇编器(如 NASM、MASM 等)专门使用 Intel 语法。

So, how can I know whether the assembly I'm learning from a certain web page will work for my machine?



它记录在来自 Intel 的处理器手册中。和 AMD . Sandpile也是很好的资源。

So, the big question is, with all these variables, how can I know what type I should learn? What's most common?



最广泛支持的是 Pentium-pro 类,即所谓的“i686”和 K8 类(称为“x86_64”或“amd64”或“EM64T”)。从那里的变化是是否支持 MMX 或 SSE 或其变体。查找 CPUID 指令 - 它将为您提供正在运行的处理器的支持信息。

How is it possible for people to "know assembly" when there are all of these variations?



我认为没有人“知道”x86。需要的每个人都拥有一份处理器手册。

关于assembly - 了解哪种汇编语法和体系结构最有用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1355524/

25 4 0