clear_screen proc NEAR
mov ah, 00h ;set config to video mode
mov al, 13h ;choose video mode
int 10h ; start config
mov ah, 0Bh ;set config to background color
mov bh, 00h ;same
mov bl, 0Ch ;light red as background color
int 10h ; start config
ret
clear_screen ENDP
这是我为组装中的乒乓球游戏清除屏幕的过程,并且没有将背景颜色更改为浅红色。 请帮助
答案 0 :(得分:2)
对于文本模式; “ int 0x10,ah = 0x0B,bh = 0x00”功能仅设置边框颜色(而不是背景颜色)。对于现代计算机,帧缓冲区的内容会填满整个屏幕,因此您看不到任何边框颜色,并且看起来该函数没有执行任何操作。
要设置背景(在清除屏幕时),您至少有两个选择:
使用“ int 0x10,ah = 0x06”将整个屏幕向上滚动25行,其中bh
将包含您想要的任何属性(前景和背景颜色)。
无需BIOS即可自行完成(只需完成rep stosw
或rep stosd
即可完成此操作)。这可能比使用BIOS更快。