gpt4 book ai didi

nasm - 汇编语言 `assembler` 也是特定的吗?哪个汇编程序最好?

转载 作者:行者123 更新时间:2023-12-04 17:59:13 24 4
gpt4 key购买 nike

我正在学习汇编语言。我从 Paul A. Carter 的 PC Assembly Language 开始它使用 NASM(网络汇编程序)。然后在中间我切换并开始阅读Introduction to 80×86 Assembly Language and Computer Architecture它使用 MASM。

在 NASM 中我曾经写过,用于初始化一个字节

db 110101b



在 MASM 中我使用

BYTE 110101b



我正在阅读中。由于这些是汇编程序指令,因此每个汇编程序都会有所不同。对?
这些汇编程序开发人员不遵循这些指令的标准吗?因为,他们知道助记符是特定于 CPU 的。因此,在汇编语言中学习和编码是一件很痛苦的事情。

现在,如果他们遵循不同的指令,那么如果您更改汇编程序或切换操作系统(MASM 开发人员如果转到 linux,就会遇到很大麻烦)会更加痛苦。

我的困惑是我应该熟悉 NASM 还是 MASM?我是 Windows 的粉丝,但我可能(将来)也必须在 Linux 上工作。

每本书的标题都应该是“使用__________汇编程序的_________汇编语言”

最佳答案

不幸的是,从来没有汇编语言的标准。你只需要学习你的汇编器支持的指令。幸运的是,大多数指令虽然名称不同,但在语义上相似,如 db 和 BYTE。

可是等等!它变得更糟,尤其是对于 x86。您(至少)有两种形式的汇编程序可以接受的代码:Intel 和 AT&T 格式。 AT&T 格式将大多数操作数的顺序颠倒为指令(或者反之亦然;-)。

NASM 可能是可移植性更好的选择,但您也可以查看 GNU
汇编..

关于nasm - 汇编语言 `assembler` 也是特定的吗?哪个汇编程序最好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1995472/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com