回复 3# Demon
之前试过单独的 mov ax,0012 & int 10h 貌似会花屏(话说我的com发错了撒,新的放在虚拟机里忘了),而单独的 mov ax,0003 & int 10h 似乎没有全屏效果,所以这俩应该都不是多余的。
手头一份资料或有参考价值,大意为:
int 10h 中断 ah=0 的功能里,al=0~3 是切换文字模式,al=4~6 是切换图形模式
另一份资料更详细一点,但没有明确说明 文字模式 和 图形模式:
功能号:00H
功能:设置显示模式
入口参数:AH=00H
AL=显示模式
显示模式列表:
显示模式 显示模式属性
00H 40×25 16色 文本
01H 40×25 16色 文本
02H 80×25 16色 文本
04H 320×200 4色
05H 320×200 4色
06H 640×200 2色
07H 80×25 2色 文本
08H 160×200 16色
09H 320×200 16色
0AH 640×200 4色
0BH 保留
0CH 保留
0DH 320×200 16色
0EH 640×200 16色
0FH 640×350 2色(单色)
10H 640×350 4色
11H 640×480 2色
12H 640×480 16色
13H 320×200 256色
尝试输入运行:- debug
- a
- mov ah,f
- int 10
- mov ax,12
- int 10
- mov ah,f
- int 10
- ret
- p6
复制代码 观察到默认运行于 3 模式下,当使用 12 模式切换到全屏时模式变为 12(此时若 q 退回 cmd 下会出现花屏),所以需要再切回模式 3 以恢复默认的文字模式,知其然,不知其所以然 |