cpu中断处理
来源:互联网 发布:c4d mac破解版下载 编辑:程序博客网 时间:2024/05/19 11:35
CPU中断处理机制
中断过程:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
中断处理程序
(1)
(2)
(3)
(4)
iret指令:
Pop
Pop
Popf
Programmer
Rep
(1)
(2)
(3)
(4)
其中:
es:di指向目的地址
ds:si指向源地址
cx:传输长度
cld:传输方向为正方向
程序内容
assume cs:code
code segment
Start :
mov ax,cs
mov ds,ax
mov si ,offset do0 ;设置ds:si指向源地址
mov ax,0
mov es,ax
mov di,200h ;设置es:di指向目的地址
mov cx,offset Do0end-offset do0 ; 设置cx为传输长度
cld ;设置传输方向为正
rep movsb
;设置中断向量表
mov ax,0
mov es,ax
mov word ptr es:[0*4],200h
mov word ptr es:[0*4+2],0
mov ax,4c00h
int 21h
do0:
jmp short do0start ;该指令占两个字节
db "Welcome to fishc.com!";两个字节之后为data段
do0start:
mov ax,cs
mov ds,ax
mov si,202h ;设置ds:si只想字符串
mov ax,0b800h
mov es,ax
mov di,12*160+32*2 ;设置es:[di]指向显存空间的中间位置
mov cx,21 ; 设置cx为字符串长度
s:
mov al,[si]
mov es:[di],al
inc si
add di,1
mov es:[di],al
add di,1
loop s
mov ax,4c00h
int 21h
Do0end:nop
code ends
end start
单步中断
单步中断:cpu在执行完一条指令之后,如果检测到标志位寄存器的TF位为1,则产生单步中断,引发中断过程。单步中断类型码为1,则他引发的中断过程如下。
(1) 取得中断类型码1;
(2) 标志寄存器入栈,TF、IF设置为0;
(3) Cs、IP入栈
(4) (IP)=(1*4),(cs)=(1*4+2)
中断过程:
(5) 取得中断类型码N;
(6) 标志寄存器入栈,TF、IF设置为0;
(7) Cs、IP入栈
(8) (IP)=(N*4),(cs)=(N*4+2)
0 0
- CPU中断处理机制
- cpu中断处理
- CPU对中断处理的流程 - idt
- 内核中断处理-从CPU说起
- cpu 中断
- 16.2 软中断CPU报文队列及其处理
- CPU与linux内核对中断的处理
- S5PV210的中断处理机制(多数CPU通用)
- Linux kernel 软中断机制之每cpu软中断处理
- 多cpu中断
- C64x+ CPU中断
- C64x+ CPU中断 .
- 浅析CPU中断技术
- 浅析CPU中断技术
- 英特尔CPU中断实验
- CPU中断方式
- 浅析CPU中断技术
- intel cpu中的中断
- Tarjan算法--有向图强连通分量算法
- 如何创建 Node.js 项目工程
- leetcode -- Maximum Subarray
- win8.1与VC++6.0兼容性问题
- SpringMVC 使用Excel视图
- cpu中断处理
- AS入门(一)
- 算法训练 矩阵乘法
- OA的学习--第一天的内容--环境搭建
- 解决ListView中使用EditText所遇到的一些冲突
- PAT 1020. Tree Traversals (25)
- 返回局部变量的问题
- pat 1057. Stack (30)
- 黑马程序员---OC--面向对象三大特性