以下code若要在.cpp文件中执行,应在每句code前加上asm,比如:asm mov ah,0x00 。注意: re:为标签,不需要加asm
通过BIOS设置VGA模式
mov ah,00h
mov al,12h
int 10h
以下对VGA控制器设置
将VGA控制器,设置为写模式2
mov dx,3ceh
mov al,5
out dx,al ;选择 模式选择寄存器 为当前可用寄存器
mov dx,3cfh
mov al,2
out dx,al ;将模式2设为当前写模式
对位屏蔽寄存器设置,使传送给0a000h的八个象素中设位1的象素为有效。
mov dx,3ceh
mov al,8
out dx,al ;选择 位屏蔽寄存器 为当前可用寄存器
mov dx,3cfh
mov al,11110000b ;让八个象素前四个有效,后四个无效
out dx,al
对0a000h地址进行操作
设置初始参数
mov ax,0a000h ;段地址
mov es,ax
mov bx,00000h ;起始偏移
mov al,0ah ;绿色
mov cx,0ffffh ;循环次数
对内存循环操作写入
jmp re
re:
mov [es:bx],al
inc bx
loop re
---------------------
作者:chief1985
来源:CSDN
原文:https://blog.csdn.net/chief1985/article/details/2528365