汇编网首页登录博客注册
fpamc的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态

[2012-05-06 21:06] 第十三章笔记

第十三章 int指令
int指令的格式为:int n,n为中断类型码,它的功能是引发中断过程。
可以在程序中使用int指令调用任何一个中断的中断处理程序。
一般情况下,系统将一些具有一定功能的子程序,以中断处理程序的方式提供给应用程序调用。

int指令和iret指令的配合使用与call指令和ret指令的配合使用具有相似的思路。

编写中断例程和子程序的时候,应该注意例程中用到的寄存器的值的保存和恢复。(成对编程)
可以利用iret指令,用栈中的内容修改cs、ip。

BIOS中主要包含以下几部分内容:
① 硬件系统的检测和初始化程序;
② 外部中断和内部中断的中断例程;
③ 用于对硬件设备进行I/O操作的中断例程。

操作系统DOS也提供了中断例程,从操作系统角度看,DOS的中断例程就是操作系统向程序员提供的变成资源。
和硬件设备相关的DOS中断例程中,一般都调用了BIOS的中断例程。

BIOS和DOS提供的中断例程,都用ah来传递内部子程序的编号。

int 10h中断例程,2号子程序的架构和功能:
mov ah,2       ;置光标
mov bh,?       ;页数
mov dh,?       ;行号
mov dl,?       ;列号
int 10h
功能为设置光标位置。

int 10h中断例程,9号子程序的架构和功能:
mov ah,9       ;在光标位置显示字符
mov al,?       ;字符
mov bl,?       ;颜色属性
mov bh,?       ;页数
mov cx,?       ;字符重复个数
int 10h
功能为在光标位置显示字符。

int 21h中断例程的4ch号功能,即程序返回。可以提供返回值作为参数。
mov ah,4ch        ;程序返回
mov al,0          ;返回值
int 21h

int 21h中断例程的9号子程序。功能为在光标位置显示字符串,可以提供要显示字符串的地址作为参数。
ds:dx指向字符串    ;要显示的字符串需用”$”作为结束符。
mov ah,9           ;功能号9,表示在光标位置显示字符串。
int 21h
评论次数(2)  |  浏览次数(232)  |  类型(汇编笔记) |  收藏此文  | 

[  tomato   发表于  2012-05-06 22:40  ]

顶!

[  fpamc   发表于  2012-05-06 22:50  ]

呵呵,嗯嗯,谢谢老师。

 
 请输入验证码  (提示:点击验证码输入框,以获取验证码