能力值:
( LV4,RANK:50 )
|
-
-
2 楼
Clear PROC Near Uses AX BX CX DX ;清屏幕,并保护所用寄存器
MOV CL, 0
MOV CH, 0
MOV DL, 79
MOV DH, 24 ;(0,0)-(24,79)是屏幕的左上角和右下角 //不明白这两句的作用
MOV BH, 7
MOV AL, 0
MOV AH, 6 //对bh赋值是何用?中断那些功能号该如何记住啊?每一次都查一下好麻烦
INT 10H
RET
Clear ENDP
这段,就是调用INT 10 中断的功能6中断。
这个是参数
AL = 上卷行数
AL =0全屏幕为空白
BH = 卷入行属性
CH = 左上角行号
CL = 左上角列号
DH = 右下角行号
DL = 右下角列号,BH=6是什么属性倒是不知道……
********************************************
MOV BUFF[SI], 12 ;把当前字符以红色显示
MOV BH, 0
MOV CX, 5
MOV DH, 5
MOV DL, 20 ;显示位置从(5, 20)开始 //这两句是怎么控制的?
LEA BP, BUFF
MOV AL, 2
MOV AH, 13H
INT 10H ;调用中断10H之功能13H
这段,就是调用INT 10 中断的功能13中断。
这个是参数
ES:BP = 串地址
CX = 串长度
DH, DL = 起始行列
BH = 页号
AL = 0,BL = 属性
串:Char,char,……,char
AL = 1,BL = 属性
串:Char,char,……,char
AL = 2
串:Char,attr,……,char,attr
AL = 3
串:Char,attr,……,char,attr
********************************************
调用INT中断的时候 会先对约定的寄存器赋值,以达到需要效果。
不知道说的对不对,我就当抛砖引玉啦。
反正我是背不出INT中断的,要用的时候么去查的,呵呵
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
嗯,经你一说,我懂了。
谢谢你详细地解决吖,祝你好运如你昵称:)
|
|
|