2
A
回答
2
你的堆栈段寄存器最好有一个有效的值,当你调用一个软件中断(或进行任何呼叫),因为int
(或call
)指令需要在其中存储有效栈代码的返回地址。另外,被调用的子程序通常期望有一个有效的堆栈,它可以在某些寄存器中执行其工作。实际上,您的堆栈段寄存器在任何时候都有更好的有效值,否则一旦发生第一个周期性中断,一切都会崩溃并烧毁。
相关问题
- 1. Bios INT 13h!需要帮助
- 2. 使用Int 13H读取磁盘参数
- 3. 程序集中断问题:int 13h(ah = 42h)返回cf = 1失败,ah = 1
- 4. BIOS INT13h AH = 42h与BOCHS
- 5. 程序集INT 13h - 读取磁盘问题
- 6. 如何在硬盘与BIOS写中断13H
- 7. 在程序集中设置堆栈段和偏移量
- 8. INT 10H 13H BIOS字符串输出不工作
- 9. 堆栈段
- 10. OS building int 13h ah = 3(hex)cf打开并且变成B(十六进制)或12(十进制)
- 11. INT 13h - 扩展阅读 - DAPS故障
- 12. BIOS阅读板块
- 13. ubuntu内核,INT 13H中断,文件系统写入
- 14. 简单的引导程序无法在真机上读取int 13h的扇区
- 15. C++(GCC):未定义的引用`堆栈<int> ::堆栈(INT)”
- 16. int 13h在Windows保护模式下?
- 17. MASM中没有堆栈段警告
- 18. BIOS如何从软盘和CD-ROM启动不同?
- 19. Java扫描仪读取从键盘和存储在堆栈中的行
- 20. JVM - 堆栈和堆栈
- 21. 如何读取调用堆栈?
- 22. 在堆栈视图中读取文本字段
- 23. 把片段堆栈
- 24. 片段堆栈Android
- 25. 堆栈溢出Marshal.PtrToStructure读取wmv文件
- 26. Linux工具读取堆栈的值
- 27. Java线程从共享堆栈阵列读取和写入
- 28. 编辑BIOS允许更快的读取键盘
- 29. 堆栈帧和堆栈指针
- 30. 微软蓝牙堆栈进入Widcomm蓝牙堆栈?
谢谢〜我理解初始化堆栈段的重要性。什么是'第一次定期中断'? – sam 2012-01-01 09:50:20
如果我没有初始堆栈段,我可以使用多大堆栈?我可以为堆叠段设置多大? – sam 2012-01-01 09:52:02
IBM PC有一个周期性中断控制器芯片,它定期产生硬件中断。 (每秒约50次)发生其中一个中断时,必须有一个有效的堆栈,否则会发生崩溃。这就是为什么我们在处理堆栈段寄存器或堆栈指针寄存器之前始终禁止中断('cli'),并在之后重新启用它们('sti')的原因。 – 2012-01-01 09:55:22