|
TSS异常的疑惑:
哥们,你的回答让我.... |
|
页机制的一点疑惑
我反复看了几遍,还不不大理解,我分成几个问题来问: 1。要把TSS从内存换出,只有一个特别的要求,即任务切换中间不允许发生页异常。这句话的疑惑是:要把TSS从内存换出,为什么不允许任务切换中间不允许发生页异常?换出和任务切换之间有关系吗? 2。段标记为不存在,如果保证在任务切换中间不会发生页异常? 3。保证每个TSS段都不跨越页的边界,如果保证在任务切换中间不会发生页异常? |
|
重头再来之新疑惑(一)
我现在在看杨季文的《80x86汇编语言程序设计教程》,保护模式的内容比较教条,但是能学到很多! |
|
分页机制的疑惑
谢谢各位,我明白了 说下我的理解,以供后人参考: 在某一个线性页中,分页之前,线性地址就等于物理地址,启动分页之后,那么线性地址要通过分页机制转换为物理地址,那么这时跳转的代码还在这个线性页中,所以必定要保证线性地址到物理地址的一致性! 原书的代码是这样: xxxxxxxxxx MOV CR0, EAX JMP SHORT PAGE PAGE: xxxxxxxxxxx 跳转后的地址还在同一个线性页中。 但如果跳转后的地址在新的线性地址页,那么就无所谓了。 |
|
2个奇怪的问题
哈哈,情形却是是这样,关键在于为什么以及在哪种情况下会有这种情形的发生 |
|
2个奇怪的问题
蜗牛兄,你的2句指令,我分析了下,还是不太理解,能否明示? 1。在陷阱发生的时候,转入陷阱处理程序,然后返回,但并不返回到产生陷阱异常的那句指令的下一句指令。我还是想不到对应的情形,不管是 jmp xxx 还是 int 3。 2。第二种情景我的理解是:在任务切换过程中,如果发生段不存在故障,那么会把段载入内存使之存在,并且在其他验证都正确的情况下,直接转向新任务的第一条指令,而不必重新执行那句引起故障的指令,这样理解是否正确?(难道是为了效率考虑?) 谢谢! |
|
|
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值