汇编伪指令 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"

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

相关推荐
代码的奴隶(艾伦·耶格尔)43 分钟前
Nginx
java·服务器·nginx
头发还没掉光光1 小时前
HTTP协议从基础到实战全解析
linux·服务器·网络·c++·网络协议·http
小白同学_C1 小时前
Lab2-system calls && MIT6.1810操作系统工程【持续更新】
linux·c/c++·操作系统os
物理与数学1 小时前
linux内核 struct super_block
linux·linux内核
Getgit1 小时前
Linux 下查看 DNS 配置信息的常用命令详解
linux·运维·服务器·面试·maven
zhangrelay2 小时前
Linux(ubuntu)如何锁定cpu频率工作在最低能耗模式下
linux·笔记·学习
_OP_CHEN2 小时前
【Linux系统编程】(二十)揭秘 Linux 文件描述符:从底层原理到实战应用,一篇吃透 fd 本质!
linux·后端·操作系统·c/c++·重定向·文件描述符·linux文件
捷智算云服务2 小时前
告别运维割裂!捷智算GPU维修中心重新定义“全栈式”维修新标准
运维·服务器·性能优化
chem41113 小时前
玩客云 边缘AI模型 本地搭建部署 llama.cpp qwen
linux·人工智能·llama
一个平凡而乐于分享的小比特3 小时前
Linux内核中的BogoMIPS详解
linux·bogomips