风不会停息 发表于 2018-6-4 22:47:56

对于int9中断的问题

本帖最后由 风不会停息 于 2018-6-4 22:54 编辑

      在15.4的实验中,问题是在屏幕中间显示 'a' ~ 'z' , 并按下esc键后, 改变颜色,在进行键盘输入也就是按下esc键时不就相当于执行了int吗,也就是popf,if和tf置为0, cs,ip入栈,改变当前cs:ip,为什么要写程序时还要用指令模拟 int 指令呢
      我有个想法就是为什么不把9号中断的cs:ip存起来, 然后更改9号中断对应的cs:ip,然后将改变颜色的那个程序安装到更改后的9号中断对应cs:ip 位置,最后再把9号中断的cs:ip复原

57158597@qq.com 发表于 2018-6-5 09:51:36

程序没有所谓的标准答案,你答案能实现相对的效果就行,所以不必纠结于这些

风不会停息 发表于 2018-6-5 10:27:25

57158597@qq.com 发表于 2018-6-5 09:51
程序没有所谓的标准答案,你答案能实现相对的效果就行,所以不必纠结于这些

我是想问为什么要模拟int9,哪些模拟的代码不是在按下一个键之后就自动执行了么,为什么还要模拟int9,就是popf,if和tf置0等等这些步骤

风不会停息 发表于 2018-6-5 13:50:50

已经懂了,我也发了一篇关于改写int9的关于栈的说明的帖子,希望能对大家有帮助
页: [1]
查看完整版本: 对于int9中断的问题