当前位置: 网学 > 编程文档 > 汇编语言 > 正文

图形显示方式屏幕的保存和恢复

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/18
下载{$ArticleTitle}原创论文样式

ret
vp_tvga1:
mov al,2
out dx,al
ret
vp_tvga2:
mov ah,vga_win3
out dx,ax
ret
VGA_PAGE ENDP
VGA_BASE PROC
mov dx,3c4h ;这一段是照抄的,找不到资料
mov ax,402h
out dx,ax
mov ax,704h
out dx,ax
mov dx,3ceh
mov ax,0ff08h
out dx,ax
mov ax,0c06h
out dx,ax
mov ax,204h
out dx,ax
mov ax,5
out dx,ax
ret
VGA_BASE ENDP

;====================================================
;本子程序为恢复原来的显示内容
;在自己的程序执行完后使用
RESTORE_SCR PROC
push cs
pop ds
mov al,video_mode ;根据不同的原显示模式不同处理
cmp al,3
jz rs_mode3
cmp al,7
jz rs_mode7
push 0b800h ;以下为图形方式恢复显示内容
pop es
push cs
pop ds
mov si,offset ram_buffer
xor di,di
mov cx,1000h
cld
rep movsb ;恢复显示 RAM

mov ah,2
call vga_page
call vga_base
call restore_vram
xor ah,ah ;恢复到原来的显示模式
mov al,video_mode
or al,80h
int 10h
mov ah,1
call vga_base
jmp short rs_mode31
rs_mode3:
call restore_vram
rs_mode31:
push cs
pop es
push cs
pop ds
mov ax,1c02h ;恢复视频状态
mov bx,offset video_buffer
mov cx,7
int 10h
test flag,10000000b
jz rs_no_mouse
mov ax,17h ;恢复鼠标状态
mov dx,offset mouse_buffer
int 33h
rs_no_mouse:
ret
rs_mode7:
mov ax,7 ;显示模式 7 恢复
int 10h
push 0b000h
pop es
call restore_vram1
jmp short rs_mode31
RESTORE_SCR ENDP

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号