中断:CPU不再接着(刚执行完的指令)向下执行,而是转去处理中断信息。
- 内中断:由CPU内部发生的事件而引起的中断
- 外中断:由外部设备发生的事件引起的中断
8086的内中断
CPU内部产生的中断
- 除法错误,比如:执行div指令产生的除法溢出
- 单步执行
- 执行into指令
- 执行int 指令
8086的中断类型码
- (1)除法错误:0
- (2)单步执行:1
- (3)执行 into 指令:4
- (4)执行 int n指令 ,立即数 n 为中断类型码。
assume cs:codesg, ss:stacksg, ds:datasg stacksg segment db 200h dup (0) stacksg ends datasg segment ; ‘$': 9 退出显示的格式 ; 13,10:回车换行 szmsg db 13,10,'hello world!',13,10,'$' datasg ends codesg segment start: mov ax,datasg mov ds,ax lea dx, szmsg ; ah寄存器为9:终端号 9 显示信息、显示ds为段地址 dx 位偏移地址的包含信息 ; 会取上面 szmsg 符号的 hello worold! 字符 mov ah,9 int 21h ; ah寄存器为4c:则退出程序,为Dos状态 mov ax,4c00h int 21h codesg ends end start