| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 721 人关注过本帖
标题:(菜鸟)BIOS程序设计写像素点失败,高手帮忙看看
取消只看楼主 加入收藏
爱末流
Rank: 2
等 级:论坛游民
帖 子:101
专家分:16
注 册:2011-6-3
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:0 
(菜鸟)BIOS程序设计写像素点失败,高手帮忙看看
BIOS程序设计写像素点失败,就是调用INT 10H视频服务 的 0CH功能来写像素 调用就提示:
调用BIOS  执行第三次 int 10h  0x00000009 指令引用的 0x720789a3 内存不能为 写(written)
0x720789a3 是DLL的地址吧

源码:   (注释都写的好了)

.model small
.stack 200h
.386
;有些视频图形模式未用,该例子只使用 Mode_6A

Mode_06 = 6        ; 640 X 200,  2 colors
Mode_0D = 0Dh        ; 320 X 200, 16 colors
Mode_0E = 0Eh        ; 640 X 200, 16 colors
Mode_0F = 0Fh        ; 640 X 350,  2 colors
Mode_10 = 10h        ; 640 X 350, 16 colors
Mode_11 = 11h        ; 640 X 480,  2 colors
Mode_12 = 12h        ; 640 X 480, 16 colors
Mode_13 = 13h        ; 320 X 200, 256 colors
Mode_6A = 6Ah        ; 800 X 600, 16 colors

.data
saveMode  BYTE  ?        ;保存原来视频模式的变量
currentX  WORD 100       ;X横坐标
currentY  WORD 100       ;Y纵坐标
COLOR = 1001b            ;颜色属性 高位4位为背景颜色未使用,只使用前景颜色(低4位)  1001b=浅蓝色

.code
main PROC
    mov    ax,@data        ;取得段地址
    mov    ds,ax
   
    mov    ah,0Fh          ;获得视频模式信息
    int    10h             ;调用BIOS
    mov    saveMode,al     ;保存原来的视频模式
   
    mov    ah,0            ;设置视频模式
    mov    al,Mode_6A      ;设置为800 * 600
    int    10h             ;调用BIOS
   
    mov    ah,0Ch          ;写像素点
    mov    al,COLOR        ;像素的颜色
    mov    bh,0            ;视频页=0,当前视频页(活跃)
    mov    cx,currentX     ;写的位置X坐标(像素单位)
    mov    dx,currentY     ;写的位置Y坐标(像素单位)
    int    10h             ;调用BIOS  执行第三次 int 10h  0x00000009 指令引用的 0x720789a3 内存不能为 写(written)
   
    mov    ah,0            ;等待用户按键
    int    16h             ;调用BIOS  INT 16H为键盘处理中断
   
    mov    ah,0            ;恢复原来的视频模式
    mov    al,saveMode     ;要恢复的视频模式
    int    10h             ;调用BIOS
    .exit
main endp
end main






搜索更多相关主题的帖子: written 程序设计 
2012-09-06 22:21
快速回复:(菜鸟)BIOS程序设计写像素点失败,高手帮忙看看
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026039 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved