首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >.byte start_of_setup-1f在linux内核代码中的含义

.byte start_of_setup-1f在linux内核代码中的含义
EN

Stack Overflow用户
提问于 2016-07-21 10:53:41
回答 1查看 286关注 0票数 4

我想要理解linux内核中x86实模式入口点的含义:

代码语言:javascript
运行
复制
_start:
        # Explicitly enter this as bytes, or the assembler
        # tries to generate a 3-byte jump here, which causes
        # everything else to push off to the wrong offset.
        .byte   0xeb        # short (2-byte) jump
        .byte   start_of_setup-1f

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/x86/boot/header.S#n298

特别是最后一行.byte start_of_setup-1f

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-21 14:48:52

1:是一个local label

1f是对当前行前面的标签1的引用。(一个文件可以包含多个数字标签。这对于可以在多个位置插入相同代码块的内联asm或汇编宏最有用。)

所以

代码语言:javascript
运行
复制
.byte   start_of_setup - 1f

是两个标签之间的距离(以字节为单位),如有必要,将其截断为一个字节。

有关文档和指南的更多链接,请参阅x86 tag wiki。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38494102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档