中断:CPU不再接着(刚执行完的指令)向下执行,而是转去处理中断信息。

  • 内中断:由CPU内部发生的事件而引起的中断
  • 外中断:由外部设备发生的事件引起的中断

8086汇编 中断

8086的内中断

CPU内部产生的中断

  • 除法错误,比如:执行div指令产生的除法溢出
  • 单步执行
  • 执行into指令
  • 执行int 指令

8086的中断类型码

  • (1)除法错误:0
  • (2)单步执行:1
  • (3)执行 into 指令:4
  • (4)执行 int n指令 ,立即数 n 为中断类型码。

8086汇编 中断

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
案例说明

相关文章: