zoukankan      html  css  js  c++  java
  • 【笔记】【汇编语言】第13章 int指令

    13.1 int指令
      指令格式: int n
      指令功能: n 是中断类型码,该指令用于引发中断过程.执行过程如下,
      (1) 取得中断类型码 n
      (2) 标志寄存器入栈,IF=0,TF=0
      (3) CS,IP入栈
      (4) (IP)=(n*4),(CS)=(n*4+2)
     
      注:一般情况下,系统将一些具有一定功能的子程序,以中断处理程序的方式提供给应用程序调用.
     
    13.2 编写供应用程序调用的中断例程
      注:中断例程,要添加iret做返回.即
        pop IP
        pop CS
        popf
        
      注2:中断例程中用到寄存器要注意保存和恢复
     
    13.3 对int,iret和栈的深入理解
      问题:用7ch中断例程完成loop s指令的功能
      要点:利用CPU处理中断时会将CS,IP等信息入栈,利用栈上的地址来计算
     
    13.4 BIOS和DOS提供的中断例程
      BIOS主要包含以下几部分内容:
      (1) 硬件系统的检测和初始化程序
      (2) 外部中断和内部中断的中断例程
      (3) 用于对硬件设备进行IO操作的中断例程
      (4) 其他和硬件系统相关的中断例程
      操作系统DOS也提供了中断例程,从操作系统的角度看,DOS的中断例程就是操作系统向程序员提供的编程资源.
      和硬件操作相关的DOS中断例程,一般都调用BIOS的中断例程.
      这些中断例程都可以直接通过int指令来调用.
     
    13.5 BIOS和DOS中断例程的安装过程
     
    13.6 BIOS中断例程的应用
      一般来说,一个供程序调用的中断例程往往包括多个子程序,中断例程内部用传递进来的参数来决定执行哪一个子程序.
      BIOS和DOS提供的中断例程,都用ah来传递内部子程序的编号.
      如: int 10h
     
    13.7 DOS中断例程应用
      例: int 21h
      其中:4ch 号功能,程序返回,可以提供返回值作为参数;
     
    实验13 编写,应用中断例程
      略

     
     

  • 相关阅读:
    如何设置IIS实现无扩展名重写
    正则表达式基础知识
    Literal控件用法
    ajaxPro.dll基础教程
    PetShop的系统架构设计
    SQL点滴29—错误无处不在
    javascript中的正则表达式
    为什么开发环境如此之乱
    SQL点滴文章总结
    javascript读写cookie
  • 原文地址:https://www.cnblogs.com/AzikPhil/p/note_asm_13.html
Copyright © 2011-2022 走看看