汇编语言笔记07_中断系统(小甲鱼笔记总结)

本文详细介绍了计算机中的数据传输方式,包括程序控制、中断和DMA,并重点讲解了中断传输方式及其优势。非屏蔽中断作为特殊类型,不受IF标志屏蔽。中断过程包括标志寄存器保存、中断向量表寻址等步骤。此外,还对比了中断与子程序的区别,并探讨了BIOS和DOS中断的使用场景。最后,列举了DOS常用功能及其调用方法和ASCII码表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据传送方式

  1. 程序控制方式

  2. 中断方式

  3. DMA方式

中断传送方式

避免因反复查询外部设备的状态而浪费时间,从而提高CPU的效率。

非屏蔽中断

非屏蔽中断不受中断允许标志IF的屏蔽,系统中只能有一个非屏蔽中断,其中断类型号为2。

中断过程

  1. PUSH (FLAGS)

  2. IF<-0

    TF<-0

    AC<-0

  3. PUSH (CS)

    PUSH (IP)

  4. (IP)<-(N*4)

    (CS)<-(N*4+2)

中断指令

INT,不给中断号的话,默认是3号中断

STI,设置中断允许位(IF=1

CLI,清除中断允许位(IF=0

中断向量表

各类型中断处理程序的入口地址表,其存放在内存低位处,每项占用4个字节,低位是(IP),高位是(CS)

每类中断向量的偏移地址可由中断类型号N乘以4计算出来。

子程序与中断的区别

两者实现机制不同

  • 中断程序是固定的(如果操作系统允许,程序员可以修改);

    而子程序是程序员动态编写的。

  • call func,根据func直接找到子程序入口,根据需求修改(IP)(CS)

    int 21h需要计算地址,通过中断向量表找到中断处理程序入口地址。

BIOS、DOS中断

BIOS中断和DOS中断是两种特殊的中断。

BIOS比DOS更靠近硬件。

在某些情况下,既可选择DOS中断又可选择BIOS中断实现相应功能;某些情况下,必须使用BIOS才能实现相应的功能。

基本步骤

  1. 将调用参数装入指定寄存器中
  2. 如需功能号,将其装入AH
  3. 如需子功能号,将其装入AL
  4. 按中断号调用DOS或BIOS中断,INT 21H

DOS常用功能

1号功能

  • 功能号

    (AH)=1

  • 功能

    从键盘输入一个字符并回显在屏幕上

  • 返回参数

    (AL)=字符

2号功能

  • 功能号

    (AH)=2

  • 功能

    显示一个字符(检验Ctrl_Break),光标随字符移动

  • 调用参数

    (DL)=字符

9号功能

  • 功能号

    (AH)=9

  • 功能

    显示字符串,光标跟随字符移动

  • 调用参数

    (DS):(DX)为串地址,串必须以$结束

0A号功能

  • 功能号

    (AH)=0AH

  • 功能

    输入字符到缓冲区,缓冲区第一个字节保存最大字符数,第二个字节保存实际输入的字符数

  • 返回参数

    (DS):(DX)为缓冲区首址

常用ASCII码

字符十六进制ASCII码
空格20H
030H
A41H
a61H
换行0AH
回车(归位)0DH
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值