AT&T汇编中如何取得标号段值

Xerneas_Yveltal 2014-08-16 03:00:46
GNU as中是否有提供伪指令,类似于MASM中的SEG伪指令这样,获得一个标号的段值
...全文
237 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Xerneas_Yveltal 2014-08-18
  • 打赏
  • 举报
回复
引用 4 楼 DelphiGuy 的回复:
你说的是MBR或者分区引导扇区代码,一般来说这些代码还是运行在实模式的,在某些新系统上可能是运行在big real mode。
这两天查了一些资料,差不多搞懂了,分配段值(保护模式下的换页)这件事是加载器来做的,还是谢谢你的解答了
  • 打赏
  • 举报
回复
你说的是MBR或者分区引导扇区代码,一般来说这些代码还是运行在实模式的,在某些新系统上可能是运行在big real mode。
Xerneas_Yveltal 2014-08-16
  • 打赏
  • 举报
回复
引用 2 楼 DelphiGuy 的回复:
应该是没有的。取段值(mov reg,seg xxx实际上被汇编器翻译为mov reg,imm立即数赋值到寄存器)只在16程序或者多段32位程序(比如32位DOS程序)中有意义,对于平面模型的32位程序没有意义。
我可以这样理解吗?Gnu as默认是已开启了保护模式,而进入保护模式在引导扇区处就能完成,内存地址固定0x0000:0x7c00,不需要取段值,保护模式下就通过逻辑地址和或线性地址访问内存了
  • 打赏
  • 举报
回复
应该是没有的。取段值(mov reg,seg xxx实际上被汇编器翻译为mov reg,imm立即数赋值到寄存器)只在16程序或者多段32位程序(比如32位DOS程序)中有意义,对于平面模型的32位程序没有意义。
Xerneas_Yveltal 2014-08-16
  • 打赏
  • 举报
回复
粗略的翻过一遍GNU as手册,没发现这样的伪指令

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧