百科问答小站 logo
百科问答小站 font logo



linux内核切换成分页模式后,ljmp $__BOOT_CS,$1f 这行代码有什么意思? 第1页

  

user avatar   bei-ji-85 网友的相关建议: 
      

这个东西,你找一个能调试的模拟器就可以看出来,比如bochs之类。

在执行ljmp $__BOOT_CS,$1f之前,虽然代码已经把CPU切换成保护模式,页表也都建立完成了,但当前执行的代码仍然处于16位实模式地址下,当前的代码的段地址和段偏移地址都是16位的。

通过Long Jmp来做一个跳转,会切换段地址,这个时候代码才真正进入保护模式。




  

相关话题

  为什么有很多的程序员觉得Linux比Windows更加方便,更加有效率? 
  caffe开发过程中使用了哪些工具? 
  用 VS Code 替代 Vim 可行吗? 
  程序计数器(Program Counter)是一个实际存在的寄存器吗? 
  汇编的ret怎么区分近返回还是远返回? 
  用 VS Code 替代 Vim 可行吗? 
  Linux 命令 ls -l 里面的 -l 是什么单词的缩写啊?是 link 的缩写吗?作用呢? 
  WSL发展如此迅速,有没有可能会在未来替代原生Linux? 
  为何 Linus 一个人就能写出这么强的系统,中国却做不出来? 
  为什么汇编语言不能越过操作系统操控硬件? 

前一个讨论
为什么修改esp寄存器会触发异常?
下一个讨论
相同的硬盘条件下,ext4能存储比NTFS更多的文件吗?





© 2025-05-27 - tinynew.org. All Rights Reserved.
© 2025-05-27 - tinynew.org. 保留所有权利