高手请进,快帮帮我!!
作为一个汇编新手,最近在编程的过程中遇到了许多难以解决的问题,以至现在深陷其中,不能自拨,望各位高手指教!
1。寄存器入本的时候在SS段存放的是寄存器中的内容,在出本的时候,CPU怎么知道该把当前SP 指针所指的二进制数送回到哪个寄存器呢?也就是说,在出栈的时候CPU是怎样寻址的呢?
2。DOS是单任务的操作糸统,任务切换只能靠中断来实现,我一直不明白8号中断(定时器)与一般的中断有什么区别。众所周知,在中断处理的时候糸统会把相应寄存器CS,IP压入堆栈,而大家都知道DOS下的8号中断由糸统每秒产生18.206次,那么按中断理论来讲,比如:当前正在运行某一程序,那么糸统为了定时将每秒18次地将当前执行程序的CS,IP压入/取出糸统堆栈,对于早期的8086/8088机来说,是否会影响程序运行速度?还有,8号中断向量指向什么代码段(处理程序)?这些代码段完成什么功能?
3。8号中断与1C号中断有什么区别?DOS操作糸统到底是怎样正确地维护时钟(糸统时间)的?那么停机以后呢?靠电子表吗?糸统时间又是放在什么地方的呢?
4。为什么在TS或中断服务程序中访问DOS会导致程序崩溃?但为什么可以用BIOS中断调用?
5。DOS操作糸统位于内存TPA(临时程序区)顶部的16个字节是做什么用的?
6。DOS的糸统堆栈在内存的什么地方?