ah=6,int 10h是屏幕初始化后滚屏,有没有什么方法让它不滚屏??

Gwanwlw 2013-11-25 10:41:40
比如说下面的代码用汇编实现蓝屏:

CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE, DS:CODE, ES:CODE

PUSH DS
MOV AX, 0
PUSH AX

MOV AX, CODE
MOV DS, AX
MOV ES, AX ;ES、DS指向同一个段

MOV AH, 0 ;置显示模式为80*25彩色文本方式
MOV AL, 3
INT 10H

MOV AH, 6 ;清全屏
MOV AL, 0
MOV BH, 1FH ;设置为蓝底白字
MOV CX, 0
MOV DX, 184FH
INT 10H

RETF
MAIN ENDP
CODE ENDS
END MAIN


生成exe文件后执行,在dos中出现蓝屏,但蓝屏会随着后续执行的命令滚动,,,有木有什么方法让蓝屏固定??
...全文
289 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
zara 2013-11-28
  • 打赏
  • 举报
回复
DOS Box 的 Readme 里说是 boot img1 img2 -l a 然后在需要 img2 时按 Ctr+F4
  • 打赏
  • 举报
回复
这可能是你之前运行fdisk分区的时候使用默认设置的结果。 最简单的方法是你把现在这个磁盘映像复制一份,改个文件名,在dosbox的配置文件中添加为d,从你的c引导之后就可以用,你可以删除上面的文件,或者格式化,重新分区也可以。
Gwanwlw 2013-11-28
  • 打赏
  • 举报
回复
引用 13 楼 DelphiGuy 的回复:
就是楼上说的,我写的时候忘记写disk2了。
恩恩,用那两条命令 安装了dos,但不知道为什么磁盘全被主分区占了,不能创建扩展分区??
  • 打赏
  • 举报
回复
就是楼上说的,我写的时候忘记写disk2了。
Gwanwlw 2013-11-27
  • 打赏
  • 举报
回复
引用 9 楼 DelphiGuy 的回复:
[quote=引用 8 楼 Gwanwlw 的回复:]
[quote=引用 6 楼 DelphiGuy 的回复:]
Windows中的DOS窗口可以直接使用color命令,比如color 7是黑底白字。如果是纯DOS或者是安装到虚拟机中的DOS,你要在config.sys中安装ansi.sys,然后就可以使用esc命令,可以做好多事,比如prompt $E[0;33;44m $P$G设置蓝底黄字。


我用dosbox好像配置不了ansi.sys
用int 10h的话进入下一屏又变回原来的颜色[/quote]

dosbox是自带了一个小的DOS环境,这是作者自己写的,功能不全,很多内部命令都没有,DOS的工具、驱动全没有,而且对直接操作磁盘的软件,象Norton Utilities中的NDD、NDIAGS等兼容性不好。
不过dosbox也可以象其他虚拟机软件一样使用磁盘映像,安装特定的系统,各版本的MS-DOS、PC-DOS、windows 3.x、win95/98都可以。

你先建立一个磁盘映像,有很多工具,比如linux中的dd命令,自己写一个也很简单,就是建立一个指定大小的文件(其实你直接复制一个500多MB的ISO就可以)。经测试,目前dosbox支持的磁盘映像不能超过1023磁道,否则引导不起来(如果不从它引导则可以用)。
然后你从网上下载DOS 7.1的软盘映像,两个1440K的.img文件。
在dosbox的命令行环境下输入:
imgmount 2 xxx\hddimg.bin -t hdd -fs none -size 512,63,16,1023
xxx是你放文件的位置,注意是系统中的目录,不是dosbox虚拟的目录。hddimg.bin是已经建立的磁盘映像,-size 后面的是磁盘参数。
之后:
boot xxx\dos71_1.img -l a
就从dos 7.1引导盘启动了,可以用fdisk、format分区、格式化磁盘映像,安装DOS系统。

一切做完之后,你可以修改dosbox的配置文件,在[autoexec]部分加入:
imgmount c: xxx\hddimg.bin
boot -l c
以后就从安装好的这个DOS磁盘启动了,就象纯DOS一样使用。
另外,dosbox除了支持镜像文件映射为光驱,也支持把本机光驱映射为虚拟机里的光驱,还支持虚拟机截图、录像,绝对是玩DOS、win 3.x软件的不二之选哪。
[/quote]

我在安装时出现这个情况不知道该怎么办??(下面是图)您就送佛送到西,帮我一下这个忙吧,,谢啦
Gwanwlw 2013-11-26
  • 打赏
  • 举报
回复
引用 9 楼 DelphiGuy 的回复:
[quote=引用 8 楼 Gwanwlw 的回复:] [quote=引用 6 楼 DelphiGuy 的回复:] Windows中的DOS窗口可以直接使用color命令,比如color 7是黑底白字。如果是纯DOS或者是安装到虚拟机中的DOS,你要在config.sys中安装ansi.sys,然后就可以使用esc命令,可以做好多事,比如prompt $E[0;33;44m $P$G设置蓝底黄字。
我用dosbox好像配置不了ansi.sys 用int 10h的话进入下一屏又变回原来的颜色[/quote] dosbox是自带了一个小的DOS环境,这是作者自己写的,功能不全,很多内部命令都没有,DOS的工具、驱动全没有,而且对直接操作磁盘的软件,象Norton Utilities中的NDD、NDIAGS等兼容性不好。 不过dosbox也可以象其他虚拟机软件一样使用磁盘映像,安装特定的系统,各版本的MS-DOS、PC-DOS、windows 3.x、win95/98都可以。 你先建立一个磁盘映像,有很多工具,比如linux中的dd命令,自己写一个也很简单,就是建立一个指定大小的文件(其实你直接复制一个500多MB的ISO就可以)。经测试,目前dosbox支持的磁盘映像不能超过1023磁道,否则引导不起来(如果不从它引导则可以用)。 然后你从网上下载DOS 7.1的软盘映像,两个1440K的.img文件。 在dosbox的命令行环境下输入: imgmount 2 xxx\hddimg.bin -t hdd -fs none -size 512,63,16,1023 xxx是你放文件的位置,注意是系统中的目录,不是dosbox虚拟的目录。hddimg.bin是已经建立的磁盘映像,-size 后面的是磁盘参数。 之后: boot xxx\dos71_1.img -l a 就从dos 7.1引导盘启动了,可以用fdisk、format分区、格式化磁盘映像,安装DOS系统。 一切做完之后,你可以修改dosbox的配置文件,在[autoexec]部分加入: imgmount c: xxx\hddimg.bin boot -l c 以后就从安装好的这个DOS磁盘启动了,就象纯DOS一样使用。 另外,dosbox除了支持镜像文件映射为光驱,也支持把本机光驱映射为虚拟机里的光驱,还支持虚拟机截图、录像,绝对是玩DOS、win 3.x软件的不二之选哪。 [/quote] 涨姿势了,,非常感谢!!
  • 打赏
  • 举报
回复
引用 8 楼 Gwanwlw 的回复:
[quote=引用 6 楼 DelphiGuy 的回复:] Windows中的DOS窗口可以直接使用color命令,比如color 7是黑底白字。如果是纯DOS或者是安装到虚拟机中的DOS,你要在config.sys中安装ansi.sys,然后就可以使用esc命令,可以做好多事,比如prompt $E[0;33;44m $P$G设置蓝底黄字。
我用dosbox好像配置不了ansi.sys 用int 10h的话进入下一屏又变回原来的颜色[/quote] dosbox是自带了一个小的DOS环境,这是作者自己写的,功能不全,很多内部命令都没有,DOS的工具、驱动全没有,而且对直接操作磁盘的软件,象Norton Utilities中的NDD、NDIAGS等兼容性不好。 不过dosbox也可以象其他虚拟机软件一样使用磁盘映像,安装特定的系统,各版本的MS-DOS、PC-DOS、windows 3.x、win95/98都可以。 你先建立一个磁盘映像,有很多工具,比如linux中的dd命令,自己写一个也很简单,就是建立一个指定大小的文件(其实你直接复制一个500多MB的ISO就可以)。经测试,目前dosbox支持的磁盘映像不能超过1023磁道,否则引导不起来(如果不从它引导则可以用)。 然后你从网上下载DOS 7.1的软盘映像,两个1440K的.img文件。 在dosbox的命令行环境下输入: imgmount 2 xxx\hddimg.bin -t hdd -fs none -size 512,63,16,1023 xxx是你放文件的位置,注意是系统中的目录,不是dosbox虚拟的目录。hddimg.bin是已经建立的磁盘映像,-size 后面的是磁盘参数。 之后: boot xxx\dos71_1.img -l a 就从dos 7.1引导盘启动了,可以用fdisk、format分区、格式化磁盘映像,安装DOS系统。 一切做完之后,你可以修改dosbox的配置文件,在[autoexec]部分加入: imgmount c: xxx\hddimg.bin boot -l c 以后就从安装好的这个DOS磁盘启动了,就象纯DOS一样使用。 另外,dosbox除了支持镜像文件映射为光驱,也支持把本机光驱映射为虚拟机里的光驱,还支持虚拟机截图、录像,绝对是玩DOS、win 3.x软件的不二之选哪。
zara 2013-11-25
  • 打赏
  • 举报
回复
dosbox 模拟得不够吧,现在的 windows 命令行窗口也不行了;以前的纯 dos 滚屏的话,是以屏幕最下面一行首字符的显示属性作为后续行的属性的。windows 命令行窗口的话,就修改其“属性”里的“颜色”吧。
Gwanwlw 2013-11-25
  • 打赏
  • 举报
回复
下面上图:


先是执行exe后的效果:

然后不断-r,蓝屏会滚动: 黑屏开始出现
Gwanwlw 2013-11-25
  • 打赏
  • 举报
回复
引用 6 楼 DelphiGuy 的回复:
Windows中的DOS窗口可以直接使用color命令,比如color 7是黑底白字。如果是纯DOS或者是安装到虚拟机中的DOS,你要在config.sys中安装ansi.sys,然后就可以使用esc命令,可以做好多事,比如prompt $E[0;33;44m $P$G设置蓝底黄字。
我用dosbox好像配置不了ansi.sys 用int 10h的话进入下一屏又变回原来的颜色
  • 打赏
  • 举报
回复
程序的话,你用int 10h就可以了,程序没结束的时候一直有效。
  • 打赏
  • 举报
回复
Windows中的DOS窗口可以直接使用color命令,比如color 7是黑底白字。如果是纯DOS或者是安装到虚拟机中的DOS,你要在config.sys中安装ansi.sys,然后就可以使用esc命令,可以做好多事,比如prompt $E[0;33;44m $P$G设置蓝底黄字。
Gwanwlw 2013-11-25
  • 打赏
  • 举报
回复
引用 4 楼 zara 的回复:
dos 类的滚动效果,就全看虚拟或模拟的细致程度了,看来 dosbox 和 windows 的命令行窗口做得都不够;若是在自己的程序里,这些都是可以控制的吧;若是对 dos 窗口,一个 cls 就回归到默认设置了。
恩恩 我现在就想在自己的程序里控制,不知道有没有什么办法可以实现?
zara 2013-11-25
  • 打赏
  • 举报
回复
dos 类的滚动效果,就全看虚拟或模拟的细致程度了,看来 dosbox 和 windows 的命令行窗口做得都不够;若是在自己的程序里,这些都是可以控制的吧;若是对 dos 窗口,一个 cls 就回归到默认设置了。
Gwanwlw 2013-11-25
  • 打赏
  • 举报
回复
引用 2 楼 zara 的回复:
dosbox 模拟得不够吧,现在的 windows 命令行窗口也不行了;以前的纯 dos 滚屏的话,是以屏幕最下面一行首字符的显示属性作为后续行的属性的。windows 命令行窗口的话,就修改其“属性”里的“颜色”吧。
谢谢 哈哈,,我太傻了,还想编程来设置背景,没想到属性设置里就可以改 ------------------------------- 那您的意思就是说没有bios中断能实现将屏幕固定???

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧