微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在NASM组装中转换GAS 1?

如何解决如何在NASM组装中转换GAS 1?

我想编写一个小型OS来提高我的编程技能,该技巧在一定程度上奏效了。现在,我尝试了解linux 0.01源代码以了解更多信息。要编译它,我需​​要将某个文件(head.s)转换为nasm语法,因为我的工具链不喜欢gas文件。直到我意识到自己忘记了什么,这没什么大不了的。

代码段:

main

“ ~~~”标记了我不完全理解的行。 1b和1f不是标签。至少不是那些我从intel语法中了解的人。我该如何翻译标签和条件跳转

解决方法

这些是local labels(一种特定于气体的功能)。

此处1f指1标签( f orward)的 next 实例,而1b指的是前一个实例( b 确认)。

像这样的代码

1:  blah blah
    jmp 1b
    blah blah
    jmp 1f
    blah blah
1:  blah blah

可以改写为

xx: blah blah
    jmp xx
    blah blah
    jmp yy
    blah blah
yy: blah blah

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。