170427 汇编-内中断的指令和设置
来源:互联网 发布:网络中继 编辑:程序博客网 时间:2024/05/16 05:36
1625-5 王子昂 总结《2017年4月27日》 【连续第208天总结】
A.汇编语言 第十二章100%
B.CPU的中断过程为:
取得中断类型码
flag的值入栈
设置flag的第八位TF和第九位IF的值为0
CS的内容入栈
IP的内容入栈
从中断向量表中读取中断处理程序的入口地址,设置IP和CS
返回中断的指令是iret,与ret类似,从栈中读出IP、CS的值送回,不同点在于flag的值最后也从栈中送回
自己编写中断处理程序时,由于需要把程序代码以字节形式送入特定位置,因此需要使用rep movab(从ds:si送至es:di处)。而数据长度则由两个标号相减,让编译器算出长度:mov cx,offset do0end-offset do0
中断编码0的处理程序为显示div overflow,这个字符串应该与程序一同被送入特定位置(不会被覆盖、能够长期留置),否则使用data数据段,当安装程序结束后data段即被释放,此字符串将无法获得
单步中断:CPU在执行完一条指令之后,如果检测到flag的TF位为1,则产生单步中断,引发中断过程
单步中断的中断类型码为1
注意:由于当TF位为1时,CPU就将执行单步中断。因此为了避免无限循环,进入单步中断处理程序之前需要把TF位设置成0。
响应中断的特殊情况:
一般情况下,CPU在执行完当前指令后,如果检测到中断信息,就响应中断。
可是有一种特殊情况:SS:SP的赋值。如果向SS传入栈的段地址后中断,而未向SP传入栈的偏移地址,那么将产生与预想情况不同的错误。因此CPU判定,在执行完设置ss的指令后不响应中断。
C.明日计划
汇编语言 第十三章
0 0
- 170427 汇编-内中断的指令和设置
- 内中断、int指令、端口 x86汇编
- ARM汇编的SWI指令软中断
- ARM汇编的SWI指令软中断
- 汇编11--内中断
- 内联汇编和汇编指令的说明
- 170425 汇编-实验11和内中断初识
- 汇编学习笔记第11~13章:标志寄存器-内中断-int指令
- 汇编学习笔记--内中断
- [Intel汇编-MASM]内中断
- 汇编第十二节-内中断
- 基于ARM9的汇编指令:数据传送指令,算术运算指令,比较指令和跳转指令
- 汇编指令和机器码的对应表
- 汇编指令和机器码的对应表
- 汇编指令和机器码的对应表
- 汇编指令和机器码的对应表
- 汇编指令和机器码的对应表
- 进度条和汇编指令的编译过程
- 山东省第二届ACM省赛 Binomial Coeffcients(组合数学)
- 自增算法
- 在一个有序数组中插入一个元素
- 4.27
- log4j
- 170427 汇编-内中断的指令和设置
- 树状数组
- LeedCode 之 Remove Duplicates from Sorted Array
- ES6中的继承
- Dagger2使用详解
- 简单实现 Android listview 滑动过程中不加载图片,停止时加载图片
- Gym
- CATIA
- POJ