cmos,dos中断

         ROM BIOS和DOS中断具有不同的层次。ROM BIOS对硬件的依赖性强,可以更充分地驾驭硬件。DOS中断使用更方便,但却无法实现某些功能   。当某个功能两者都提供时,可以按自己的习惯使用其中的任一种,一般选用后者  。 

           ROM BIOS和DOS中断共同点:功能号都是在ah中。

(1)显示器中断的中断类型码是10H,

设置显示模式
功能号:0
调用参数:AL=显示模式。

常用显示模式如下图:



eg. 设置显示器为80X25彩色文本模式

mov AH,0

mov al,3

int 10h


⑵ 初始化窗口或窗口内容向上卷动
功能号:6
调用参数:AL=上卷行数
 BH=空白区属性
 CH=窗口左上角行号
 CL=窗口左上角列号
 DH=窗口右下角行号
 DL=窗口右下角列号

例2.清屏,并设置为蓝底白字属性。
MOV AH ,6
MOV AL ,0
MOV BH ,1FH;蓝底白字属性
MOV CX ,0
MOV DH ,24
MOV DL ,4FH
INT 10H

⑶ 设置光标位置
功能号:2
调用参数:BH=页号,DH=光标行号 DL=光标列号
例4.设置光标在10行20列。
MOV     AH ,2 ;设置光标
MOV     BH ,0
MOV     DH ,10
MOV     DL ,20
INT     10H

2.使用DOS系统功能调用

1.带回显的字符输入并识别Ctrl-C键
功能号:1
返回参数:AL=输入字符的ASCII值

2.输出一个字符
功能号:2
调用参数:DL=字符的ASCII值
说明:该输出功能使光标跟随移动。
例. 输出一个字符Y。
MOV    AH ,2
MOV    DL ,’Y’
INT    21H

3.输入字符串
功能号:0AH
调用参数:DS:DX指向自定义的输入缓冲区首地址
功能:从标准输入设备(例如键盘)输入一串字符到用户定义的缓冲区,直到按下Enter键为止。在接收的同时显示到屏幕上,并且识别Ctrl-C键,也处理DOS编辑键。

缓冲区的示意图:

eg. 定义60个字节的buffer,在buffer[0]存用户定义buffer长度,而buffer[1]里面存的是实际的buffer使用长度(由系统自己算出用户实际使用的字节数),用户实际输入的数据存放在buffer[2]-buffer[M+1]这段空间里面egment

 start: mov ax,datasg
        mov ds,ax
        mov ah,0Ah ;接收一段字符串
        lea dx,buffer
        int 21h
        mov ah,4ch
        int 21h
codesg ends
end start
4.输出字符串

功能号:9
调用参数:DS:DX指向要输出的以$结尾的字符串首地址
功能:输出字符串到标准输出设备
说明:要输出的字符串必须以$结束

eg:  打印“ I love China”

assume cs:codesg, ds:datasg
datasg segment
out1 db 'I love China $'
datasg ends

codesg segment
 start: mov ax,datasg
        mov ds,ax
        mov dx,offset out1
        mov ah,9
        int 21h


        mov ah,4ch
        int 21h
codesg ends
end start

























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值