曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 7709|回复: 0
打印 上一主题 下一主题

[8086] BIOS中断例程应用

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34387
跳转到指定楼层
楼主
发表于 2009-4-1 01:46:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、几个简单的调用例子     一般调用的中断例程中包含多个子程序,中断例程内部用传递进来的参数决定执行哪一个子程序。BIOS 和 DOS 提供的中断例程,都用 ah 来传递内部子程序的编号。
int 10h 号中断例程 2 号子程序,功能为设置光标位置。可以提供光标所在的行号、列号,页号作为参数。如
mov ah,2
mov  bh,0    ;第 0 页
mov  dh,5    ;放行号
mov   dl,12   ;放列号
int 10h
int 10h 号中断例程 9 号子程序,功能为在光标位置显示字符,可以提供要显示的字符,颜色属性,页号,字符重复个数作为参数。如:
mov ah, 9         ;置光标 mov al, 'a'         ;字符
 mov bl, 7           ;颜色属性
 mov bh, 0          ;第 0 页
 mov cx, 3           ;字符重复个数
 int 10h
int 21h 号中断例程 9 号子程序,在光标位置显示字符串:
 ds:dx    ;指向字符串,要显示的字符串用'$'作为结束符
mov ah,9  ;功能号 9 ,表示在光标位置显示字符串
二、int 指令在执行的时候,CPU进行了哪些工作?
(1) 取中断类型玛 n ;
(2) 标志寄存器入栈;
(3) IF = 0, TF = 0;
(4) CS,IP 入栈
(5) (IP) = (n*4),(CS)=(n*4+2)


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-5-20 10:52 , Processed in 0.076007 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表