- [835984286] 就是结果没问题,不知道有没有潜在的错误 09/18 23:03
- [835984286] 下载个dosbox效果不错 谁给个dos系统的iso给我呀,我也想装个dos虚拟机 邮箱:835 09/18 22:57
- [tily] dos环境是怎样配置的, 我的博文里有详细说明 09/18 13:55
- [stqcw] 你的这个 dos环境是怎样配置的 我在xp里面装的是masm615 但老是有问题 按下A键不松开 09/18 13:34
- [stqcw] 你的这个 dos环境是怎样配置的 我在xp里面装的是masm615 但老是有问题 按下A键不松开 09/18 13:32
- [chinatree] 貌似没有什么问题呀? 09/15 11:54
- [835984286] 最好能把缓冲区(键盘)的a字符给删掉就好了】 09/15 03:27
- [835984286] 那你也在虚拟模式试试呀,看看能不能解决 09/14 01:39
- [chinatree] 你改过之后应该能看到,退出后可能会被系统改回来,我在虚拟机下可以,保护模式下没试过 09/13 19:47
- [chinatree] 你改过之后应该能看到,退出后可能会被系统改回来 09/13 19:47
[2011-09-11 19:36] 画一个与屏幕中心一样的矩形,谁有其他显色模式资料呀给我了解了解呀
;功能:在80*25显色模式下画个矩形,矩形与屏幕同中心
;参数:dh=矩形起始点的行号,dl=矩形起始点的列号,cl=矩形颜色
;返回:无
rectangle:
push dx
push cx
push ax
push bx
push si
mov ax,160
mul dh
mov bx,0
mov bl,dl
add ax,bx
add ax,bx
inc ax
mov si,ax
mov ax,0b800h
mov ds,ax ;设置ds:si指向矩形第一个点对应显存地址
mov al,79 ;画矩形的第一横线
sub al,dl
rectangle_oline:
mov ds:[si],cl
;call delay
add si,2
inc bl
cmp bl,al
jna rectangle_oline
sub si,2
add si,160 ;ds:si指向第2列第一行
mov ah,23
sub ah,dh
mov bh,dh
rectangle_trank:
mov ds:[si],cl
;call delay
add si,160
inc bh
cmp bh,ah
jna rectangle_trank
sub si,160
sub si,2 ;ds:si指向第二行最后一个显存地址
mov bl,dl
dec al
rectangle_tline:
mov ds:[si],cl
;call delay
sub si,2
inc bl
cmp bl,al
jna rectangle_tline
add si,2
sub si,160 ;ds:si指向第一列最后一个显存地址
mov bh,dh
dec ah
rectangle_orank:
mov ds:[si],cl
;call delay
sub si,160
inc bh
cmp bh,ah
jna rectangle_orank
pop si
pop bx
pop ax
pop cx
pop dx
ret
[ chinatree 发表于 2011-09-11 22:22 ]
什么样的显色模式?我只知道dos有256种颜色,至于Dos启动时的那个彩色画面我不知道怎么画的。
[ 835984286 发表于 2011-09-11 23:16 ]
一个点的显色模式
[ chinatree 发表于 2011-09-11 23:41 ]
你再描述详细些吧,Dos是25*80的形式,每个点可以显示一个ascii码,占一个字节。在它的地址加一就是它的颜色属性,从0到255,可以任意设置,全0是看不到的。
[ 835984286 发表于 2011-09-12 03:52 ]
就是一个一个像素
[ chinatree 发表于 2011-09-12 19:01 ]
用int 10h把屏幕设置为super VGA就可以用像素画了,具体你自己查吧,还可以把图片贴到屏幕上。
[ chinatree 发表于 2011-09-12 19:03 ]
(1)、功能00H
功能描述: 设置显示器模式
入口参数: AH=00H
AL=显示器模式,见下表所示
出口参数: 无
可用的显示模式如下所列:
显示模式 显示模式属性 显示模式 显示模式属性
00H 40×25 16色 文本 01H 40×25 16色 文本
02H 80×25 16色 文本 03H 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色 10H 640×350 16色
11H 640×480 2色 12H 640×480 16色
13H 640×480 256色
对于超级VGA显示卡,我们可用AX=4F02H和下列BX的值来设置其显示模式。
BX 显示模式属性 BX 显示模式属性
100H 640×400 256色 101H 640×480 256色
102H 800×600 16色 103H 800×600 256色
104H 1024×768 16色 105H 1024×768 256色
106H 1280×1024 16色 107H 1280×1024 256色
108H 80×60 文本模式 109H 132×25 文本模式
10AH 132×43 文本模式 10BH 132×50 文本模式
10CH 132×60 文本模式
[ 835984286 发表于 2011-09-13 07:32 ]
用不好
[ chinatree 发表于 2011-09-13 12:19 ]
多摸索摸索就好了。