汇编伪指令 GNU 风格(24)

先来看看关于标号的内容。

这里的局部标号是需要注意的。

全局标号,以及注释 可以不看。

来看一个例子;

这里的 BSYM 我不知道是什么意思。

在来看看关于伪操作的内容, 一般是以 . 开头的。

这是基本的一些操作。

然后是举例:

这里的.word 代表的是 4个字节。

复制代码
val:   .word  0x11223344
mov r1,#val  ;将值0x11223344设置到寄存器r1中

这里的space 不太明白是什么意思。

复制代码
   label: .space size,expr     ;expr可以是4字节以内的浮点数 
   a:  space 8, 0x1

这个例子中 space 8 ,0x1 代表的是 填充8个字节,每个字节都是用0x1 来填充。

这里的重复 不太明白是什么意思。

复制代码
 .rept cnt   ;cnt是重复次数
 .endr

这里的if 类似于 C语言

然后是关于 自定义段的操作, 这是比较重要的。

段分为:

代码段 .text

初始化数据段:.data

未初始化数据段:.bss

只读段: rodata, 代表着 字符串以及 define 定义的变量

heap 段, stack 段, 常量段。

这些都是指的名字。

flags 代表的是 读写的约束。

定义一个代码段: 这里的x 不知道是什么意思。

复制代码
.section  .text  , "x"

.global add

add:

        add r0, r0,r1

        mov pc,lr

然后是自己定义一个段。

复制代码
.section .mysection
.align 2
strtemp:
    .ascii "hello world"

标号是不带 . 的, 一般伪指令 是带 . 的。

相关推荐
剑神一笑18 小时前
Linux curl 命令深度解析:从 HTTP 请求到网络调试实战
linux·网络·http
zh路西法18 小时前
【ROS一键编译脚本】基于colcon与catkin的辅助一键懒人脚本
linux·windows·bash
a珍爱上了a强18 小时前
__attribute__((constructor))
linux
tang74516396218 小时前
华为云服务器Ubuntu 24.04 安装 Kafka20260318
服务器·ubuntu·华为云
wanhengidc18 小时前
服务器如何防范病毒攻击
运维·服务器·游戏
lightgis18 小时前
使用工作站电脑
linux·电脑
ylatin18 小时前
frp使用 网络
运维·服务器·网络
z2023050818 小时前
RDMA之NVIDIA Zero Touch RoCE (ZTR),和RTT的应用(9)
linux·服务器·网络·人工智能·ai
code monkey.18 小时前
【Linux之旅】Linux TCP Socket 编程实战:从单连接到线程池,构建高并发服务端
linux·网络·tcp/ip
H Journey18 小时前
总结Linux下查看IP地址的相关命令
linux·运维·ip address