关于 BIOS中断 显示方式切换
【实验七】在图形和字符显示方式下显示字符串一、实验目的与要求
通过分别在图形显示方式和字符显示方式下显示字符串的实验,理解和掌握BIOS显示器中断调用(INT 10H)的方法。
二、实验内容
编写一个程序,分别在640×200单色图形显示方式和80×25彩色文本显示方式下显示字符串“ABCDEF…XYZ”,按任一键进行切换。
DATAS SEGMENT
CHAR DB 'ABCDEFGHIGKLMNOPQRSTUVWXYZ$'
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
LEA DX,CHAR
MOV AL,06H
MOV BL,0H
CHR: MOV AH,00H
INT 10H
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
CMP AL,'E'
JZ EXIT
MOV AH,00H
MOV AL,08H
INT 10H
MOV AH,01H
INT 21H
JMP CHR
EXIT: MOV AH,4CH
INT 21H
CODES ENDS
END START
我写的显示模式不能切换,希望高手指点
DATAS SEGMENT
CHAR DB 'ABCDEFGHIGKLMNOPQRSTUVWXYZ$'
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
LEA DX,CHAR
MOV CL,0
CHR:
AND CL,1
CMP CL,0
JNZ FLAG1
MOV AL,06H
MOV AH,00H
INT 10H
JMP FLAG2
FLAG1:
MOV AL,03H
MOV AH,00H
INT 10H
FLAG2:
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
CMP AL,'E'
JZ EXIT
INC CL
JMP CHR
EXIT:
MOV AL,2
MOV AH,0
INT 10H
MOV AH,4CH
INT 21H
CODES ENDS
END START
[[italic] 本帖最后由 zhulei1978 于 2007-12-13 10:36 编辑 [/italic]]
做出来了
DATAS SEGMENTCHAR DB 'ABCDEFGHIGKLMNOPQRSTUVWXYZ$'
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
LEA DX,CHAR
MOV CL,03H
MOV BL,06H
CHR: MOV AH,00H
MOV AL,CL
INT 10H
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
XCHG CL,BL
JMP CHR
EXIT:MOV AH,4CH
INT 21H
CODES ENDS
END START
页:
[1]
