我知道我的回答有点晚了。迟到总比不到好。
当你编译一个汇编文件时,代码中可能会出现两种指令。
一种是您的汇编程序支持的指令,在您的情况下,它是GNU as
指令。
另一种取决于您的汇编语言,并且因为您显然在这里使用 mips 汇编,所以.ent
实际上是一个mips assembly
指令。
这是您可以找到指令的指南.ent .frame .fmask .mask
:它们都是 mips 汇编指令。或者你可以只是Google MIPS Assembly Language Programmer’s Guide
。导航到chapter 8, Pseudo Op-Codes
,您将获得所需的一切。
你可能想知道怎么GNU as
能支持mips directives
?键入Info as
,导航到章节Machine Dependent Features
,然后导航到子章节MIPS-Dependent
。但是,您仍然无法在.ent
此处找到指令,也找不到.frame .fmask .mask
. 那是因为info as
它不是 mips 组装指南,不能那么全面。
顺便说一句,nasm
许多程序员都熟悉的汇编程序,有自己的指令和语法(英特尔风格),不同于GNU as
(源自古老的 AT&T 风格)。类似地,不同的汇编语言可能有自己独特的指令(但不是语法),汇编器也可以对其进行汇编。这就是为什么两个指令源可能会出现在一个汇编文件中的原因。现在,GNU as
汇编器甚至可以支持 Intel 语法。此外,还有一些工具可以在 AT&T 和 Intel 语法之间进行转换。但是,您应该记住指令与语法不同。坦率地说,我也对此感到困惑。