AT&T汇编语言中的“extrn”是什么意思?
创始人
2024-09-21 11:00:59
0

在AT&T汇编语言中,"extrn"是用于声明外部符号的伪指令。它用于在当前汇编程序中引用其他汇编文件或链接到其他汇编文件中定义的符号。

"extrn"指令的语法如下:

extrn symbol_name

其中,symbol_name是外部符号的名称。

下面是一个示例,展示了如何在AT&T汇编语言中使用"extrn"指令:

假设我们有两个汇编文件:main.s和external.s。在external.s文件中,我们定义了一个名称为"external_variable"的全局变量。我们想要在main.s文件中引用并使用这个变量。

external.s文件的内容如下:

.data
external_variable: .word 10

main.s文件的内容如下:

.data
extern external_variable

.text
.globl _start

_start:
    movl $external_variable, %eax   # 将external_variable的地址加载到寄存器eax中
    movl (%eax), %ebx                # 将external_variable的值加载到寄存器ebx中
    addl $5, %ebx                    # 在external_variable的值上加上5
    movl %ebx, (%eax)                # 将修改后的值存回external_variable

在main.s文件中,我们使用"extern"关键字声明了一个名为external_variable的外部符号,以便在main.s文件中引用它。

在_start标签下的代码中,我们首先将external_variable的地址加载到寄存器eax中。然后,我们通过间接寻址将external_variable的值加载到寄存器ebx中。接下来,我们将ebx中的值加上5,并将修改后的值存回external_variable中。

通过使用"extrn"指令和"extern"关键字,我们可以在AT&T汇编语言中引用其他汇编文件中定义的全局符号。

相关内容

热门资讯

第5分钟辅助挂!大唐辅助器免费... 一、光明大厅微信链接辅助试用简介了解软件请加微:136704302光明大厅微信链接辅助试用是一款在线...
两分钟辅助挂!微乐自建房辅助(... 两分钟辅助挂!微乐自建房辅助(透视)对战互娱有辅助吗(详细透视外开挂教程)1)对战互娱有辅助吗辅助挂...
第四分钟辅助挂!陕麻圈插件注入... 第四分钟辅助挂!陕麻圈插件注入(透视)四川家园辅助器(详细透视外开挂教程)1、让任何用户在无需四川家...
五分钟辅助挂!禅游科技辅助(透... 五分钟辅助挂!禅游科技辅助(透视)中至余干破解器(详细透视外开挂教程)1、在中至余干破解器ai机器人...
第八分钟辅助挂!福建天天开心万... 自定义福建天天开心万能辅助系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,...
第9分钟辅助挂!广东雀神智能插... 第9分钟辅助挂!广东雀神智能插件试用(透视)新玄龙辅助(详细透视外开挂教程)1、用户打开应用后不用登...
第五分钟辅助挂!贰柒拾手机辅助... 一、创思维辅助软件简介了解软件请加微:136704302创思维辅助软件是一款在线扑克游戏平台,玩家可...
第五分钟辅助挂!吉祥填大坑有插... 第五分钟辅助挂!吉祥填大坑有插件吗(透视)宝宝吃吃吃游戏辅助(详细透视外开挂教程)1、完成吉祥填大坑...
7分钟辅助挂!越乡游义乌微信小... 7分钟辅助挂!越乡游义乌微信小程序(透视)浙江宝宝游戏辅助器是真的嘛(详细透视外开挂教程)1、每一步...
第七分钟辅助挂!山西打锅子技巧... 第七分钟辅助挂!山西打锅子技巧(透视)广西友乐软件辅助(详细透视外开挂教程)是一款可以让一直输的玩家...