DATA SEGMENT
COL DW 100 ; 列号
ROW DW 100 ; 行号
LEN DW 300 ; 长为300个像素
WID DW 200 ; 宽为200个像素
COLOR DB 1 ; 像素值
DATA ENDS
STACK SEGMENT PARA STACK
DW 20 DUP(0)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA, SS:STACK
BEGIN: MOV AX, DATA
MOV DS, AX
MOV AH, 0FH ; 读取当前显示模式,并保存
INT 10H
MOV AH, 0
PUSH AX
MOV AH, 0
MOV AL, 12H
INT 10H ; 设置为图形显示模式,16色,大小640*480
MOV DX, ROW
MOV CX, COL
CALL DRAW_X
MOV DX, ROW
MOV CX, COL
CALL DRAW_Y
MOV DX, ROW
MOV CX, COL
ADD CX, LEN
CALL DRAW_Y
MOV DX, ROW
MOV CX, COL
ADD DX, WID
CALL DRAW_X
MOV AH, 1
INT 21H
POP AX
INT 10H
MOV AH, 4CH
INT 21H
DRAW_X PROC ; 画横线子程序
MOV BP, LEN
LOP1: MOV BH, 0
INC CX
MOV AL, COLOR
MOV AH, 0CH
INT 10H
DEC BP
JNE LOP1
RET
DRAW_X ENDP
DRAW_Y PROC ; 画竖线子程序
MOV BP, WID
LOP2: MOV BH, 0
INC DX
MOV AL, COLOR
MOV AH, 0CH
INT 10H
DEC BP
JNE LOP2
RET
DRAW_Y ENDP
CODE ENDS
END BEGIN