我是靠谱客的博主 刻苦雪碧,最近开发中收集的这篇文章主要介绍汇编语言笔记07_中断系统(小甲鱼笔记总结)数据传送方式中断传送方式BIOS、DOS中断DOS常用功能常用ASCII码,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

这里写目录标题

  • 数据传送方式
  • 中断传送方式
    • 非屏蔽中断
    • 中断过程
    • 中断指令
    • 中断向量表
    • 子程序与中断的区别
  • BIOS、DOS中断
    • 基本步骤
  • DOS常用功能
    • 1号功能
    • 2号功能
    • 9号功能
    • 0A号功能
  • 常用ASCII码

数据传送方式

  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

最后

以上就是刻苦雪碧为你收集整理的汇编语言笔记07_中断系统(小甲鱼笔记总结)数据传送方式中断传送方式BIOS、DOS中断DOS常用功能常用ASCII码的全部内容,希望文章能够帮你解决汇编语言笔记07_中断系统(小甲鱼笔记总结)数据传送方式中断传送方式BIOS、DOS中断DOS常用功能常用ASCII码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部