例8.5 在256色320×200的图形显示模式下,从屏幕最左边向最右边,依次画竖线(从顶到底),线的颜色从1依次加1。要求用中断调用的方法来画线。

解:
.MODEL SMALL
.DATA
  mode DB ?     ;保存当前显示模式
.CODE
VLine PROC Near USES AX BX DX ;画一条竖线,CX—竖线所在的列,AL—线的颜色
MOV DX, 0
MOV BH, 0
MOV AH, 0CH
draw:
VLine INT 10H
INC DX
CMP DX, 200
JL draw
RET
ENDP
.STARTUP
MOV AH, 0FH
INT 10H
MOV mode, AL ;保存当前显示模式,在程序结束前恢复之
MOV AH, 0
MOV AL, 13H
INT 10H ;设置256色320×200的图形显示模式
MOV CX, 0
MOV AL, 01H ;CX=线所在列,AL=线的颜色
draw:
CALL VLine
INC AL
INC CX
CMP CX, 320
JL draw ;从左到右画320条竖线
MOV AH, 0
INT 16H ;等待一个按键
MOV AL, mode
MOV AH, 0
INT 10H ;恢复原来的屏幕显示模式
.EXIT 0
END

关 闭