我同意 lengren 的说法
简单的说 就是 这样:
第一 1. 键盘引发9h中断 pushf ,TF=0,IF=0,cs:ip 入栈
第二 2. pushf
第三 3. call dword ptr (cs:ip) ;入站 第四处的CS:ip,并执行 call所指向的程序
第四 4. ......一些指令
第五 5. 第三处call指的是BIOS的9h号中断例程,里面含有iret,会出栈第三处和第二处
第六 6. ......一些指令
第七 7. iret 这条出栈第一处 入栈的 IP,CS ,Flag
这个时候 程序CS:ip 指向的是 键盘引发9h号中断前的 下一条指令 |