当前位置: 代码迷 >> 汇编语言 >> 中断与直接调用解决方案
  详细解决方案

中断与直接调用解决方案

热度:4103   发布时间:2013-02-26 00:00:00.0
中断与直接调用
为什么

mov   ax,0100h
int   21h

这是个读子符的中断

为什么不能写成

call   读子符中断的处理过程

为什么不能这样做呢?有什么好处?

------解决方案--------------------------------------------------------
call和int的区别:
call可以调用段内过程(近过程),在调用前将ip(实模式下)压入堆栈,call也可以调用段外过程(也称作段间过程或者远过程),此时将cs,ip(实模式下)压入堆栈。
int 相当于call far功能,只能调用运过程,另外int后面不加过程名,而是中断向量号。还有,int调用时也将标志寄存器压入堆栈,返回时自动弹出。这是call不具备的功能。
  相关解决方案