;分辨率(如1024×768)、颜色数多少等
PUBL IC SETMOD
SETMOD PROC FAR
PU SH BP
MOV BP, SP
L ES BX, [BP+ 6 ]
MOV AX, ES: [BX ]
IN T 10H
PU SH BX
MOV AH,O FH
IN T 10H
PO P BX
MOV AH,BYTE PTR
ES: [BX ]
CM P AL ,AH
JE L 14
MOV AX, 0003H
IN T 10H
PU SH DS
PU SH CS
PO P DS
L EA DX, ERROR1
MOV AH, 09H
IN T 21H
PO P DS
MOV AH, 04CH
IN T 21H
L 14: PO P BP
RET 4H
SETMOD ENDP
;读取显示方式的程序
PUBL IC GETMOD
GETMOD PROC FAR
PU SH BP
MOV BP, SP
L ES D I, [BP+ 6 ]
MOV AH, 0FH
IN T 10H
MOV AH, 0
MOV ES: [D I],AL
PO P BP
RET 4H
GETMOD ENDP
;显示卡的DAC 设置
PUBL IC STDAC
STDAC PROC FAR
PU SH BP
MOV BP, SP
L ES S I, [BP ]+ 6
MOV CX,WORD PTR [S I]
L ES S I, [BP ]+ 10
MOV BX,WORD PTR [S I]
L ES S I, [BP ]+ 14
L 13: PU SH CX
MOV DH, ES: [S I]
INC S I
MOV CH, ES: [S I]
INC S I
MOV CL , ES: [S I]
INC S I
MOV AX, 1010H
IN T 10H
INC BX
PO P CX
LOO P L 13
PO P BP
RET 4H
STDAC ENDP
;屏幕上写图像的像元点
PUBL IC W T IM G4
W T IM G4 PROC FAR
PU SH BP
MOV BP, SP
PU SH DS
PU SH ES
L ES S I, [BP ]+ 10
MOV AX, ES: [S I]
L ES S I, [BP ]+ 18
MOV CX, ES: [S I]
MUL CX
L ES S I, [BP ]+ 14
MOV CX, ES: [S I]
ADD AX, CX
ADC DX,O
MOV D I,AX
MOV AL ,DL
CALL Select- pg
L ES S I, [BP ]+ 22
MOV CX, ES: [S I]
MOV AX, 0A 000H
MOV ES,AX
LDS S I, [BP ]+ 6
MOV AL ,DS: [S I]
MOV CS: COLOR,AL
CLD
MOV BX, CX
ADD BX,D I
JNC Scan- O ne- Page
SUB CX,BX
SHR CX, 1
REP MOV SW
ADC CX, CX
REP MOV SB
MOV CX,BX
XCHG AL ,DL
INC AL
CALL Select- pg
XCHG AL ,DL
JCXZ Scan- Done
Scan- O ne- Page:
SHR CX, 1
REP MOV SW
ADC CX, CX
REP MOV SB
Scan- Done:
PO P ES
PO P DS
PO P BP
RET 14H
W T IM G4 ENDP
太多了,是我复杂的,你看看吧!