首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

中断与直接调用解决方案

2012-02-13 
中断与直接调用为什么movax,0100hint21h这是个读子符的中断为什么不能写成call读子符中断的处理过程为什么

中断与直接调用
为什么

mov   ax,0100h
int   21h

这是个读子符的中断

为什么不能写成

call   读子符中断的处理过程

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

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

热点排行