操作系统第二课-汇编语言AT&T的基本了解

linux源代码中除了bootsect.s和head.s使用Intel汇编语言之外,其他的源代码都是使用AT&T汇编语言。虽然本科期间学习了汇编语言的相关知识,但是还是没有学习过AT&T汇编语言,因此在进行操作系统学习期间查看源代码时,会产生理解上的困难。这里会对AT&T的部分语言进行相应的介绍:

.globl begtext, begdata, begbss, endtext, enddata, endbss
.text
begtext:
.data
begdata:
.bss
begbss:
.text

entry start
start:

在setup.s源代码的开始部分会出现上面的代码,那么每个表示的是什么意思呢?下面将做一一讲解。

.text:表示该节中包含程序的代码,需指出该节是只读节。

.data:这种节包含程序已初始化的数据,也就是说,包含具有初值的那些变量

.bss

这个节包含程序还未初始化的数据,也就是说,包含没有初值的那些变量。当操作系统装入这个程序时将把这些变量都置为0

使用.bss比使用.data的优势在于,.bss节在编译后不占用磁盘的空间,这样编译、连接生成的代码的尺寸会比较小。

尽管在磁盘上不占空间,但是在可执行文件被读入内存后系统还是会为.bss节分配内存

.ascii语法:.ascii  string .

ascii 表示零个或多个(用逗号隔开)字符串,并把每个字符串(结尾不自动加\0字符)中的字符放在连续的地址单元。于此类似的 .asciz指令定义的字符串会在结尾处自动加 \0字符

.fill:语法:.fill repeat , size , value

含义是反复拷贝size个字节,重复repeat次 ,其中size

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值