请问在dos下用汇编设置光标的问题!

phenixsen 2003-10-20 08:00:35
看书上的介绍时说:int 10h ,ah = 1 时可以设置光标的类型--设置光标的起始行和结束行 但是 自己怎么试都出不来效果 谁能具体介绍一下这个调用 和最后的效果是什么样子的. 谢谢
...全文
269 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
gad1star 2003-10-21
  • 打赏
  • 举报
回复

┌──┐
│ │<---- 啟始線
│ │
│ │<---- 終止線
-----
我无奈了...我不相信把这个烂图改不好!
gad1star 2003-10-21
  • 打赏
  • 举报
回复

┌──┐ │
│ │<---- 啟始線 │
│ │ │
│ │<---- 終止線 │
------

楼上的图形扭了。
gad1star 2003-10-21
  • 打赏
  • 举报
回复
刚刚去找了一下资料:
;│BIOS 呼叫 INT 10H,AH=01H │
;│設定游標形狀 ┌──┐ │
;│ (CH) <= 游標的啟始線 (0~15) │ │<---- 啟始線 │
;│ (CL) <= 游標的終止線 (0~15) │ │ │
;│註:正常: CH=0DH,CL=0EH │ │<---- 終止線 │
;│ 消失: CH=0FFH,CL=0FFH

那个“啟始線、終止線”指向的框框就是一个字符所占的位置,应该可以看懂吧:)。
但是其中ch,cl取值似乎有些问题。
我自己试了一下:ch正常取值范围是0到7,cl的正常取值范围是ch到ch+3。
(也就是说,光标所在的高度只能取8个值,厚度不超过3)
当然你也可以取一些特殊值,如果cl>ch+3,那样的话那个字符就“全亮”了。
或者cl<ch时,也会“全亮”。
或者ch和cl都大于20h时,光标就消失。

eg:

C:\>debug
-a
0B30:0100 mov ah,1
0B30:0102 mov ch,0
0B30:0104 mov cl,1
0B30:0106 int 10
0B30:0108 int 20
0B30:010A
-n cursor.com
-rcx
CX 0000
:A
-w
Writing 0000A bytes
-q
C:\>cursor.com
效果是光标跑到上面去了。
------------------------------------------
至于你说的“怎么试都出不来效果”,会不会是有其他原因?
比如console是不是窗口模式,不是全屏?
或者你的系统是XP?那样console光在全屏下也不行。你可以这样试一下:
C:\>debug cursor.com
-g
Program terminated normally


希望能对你有所帮助!
bluedreammer 2003-10-21
  • 打赏
  • 举报
回复
int 10h如果用在v8086下,總會出現問題,我用int10h清屏時如果dos不全屏顯示,就會死機,但是在別的機器同樣的系統下(2k)就不會.
紫郢剑侠 2003-10-20
  • 打赏
  • 举报
回复
主要是设置光标的高度和宽度。
csdsjkk 2003-10-20
  • 打赏
  • 举报
回复
mov ah,1
mov ch,起始行
mov cl,结束行
int 10h
-------------------------- 我是汇编爱好者 QQ695367480 高手别找我了 我是菜鸟。 -------------------------- 内容简介: Windows环境下32位汇编语言是一种全新的编程语言。它使用与C++语言相同的API接口,不仅可以用来开发出大型的软件,而且是了解操作系统运行细节的最佳方式。本书从编写应用程序的角度,从“Hello World!”这个简单的例子开始到编写多线程、注册表和网络通信等复杂的程序,通过60多个实例逐渐深入Win32汇编语言的方方面面。本书作者罗云彬拥有十余年汇编语言编程经验,是汇编编程网站http://asm.yeah.net和汇编编程论坛http://win32asm.yeah.net的站长。本书是作者多年来编程工作的总结,适合于欲通过Win32汇编语言编写Windows程序的读者。 第1章 背景知识 1.1 Win32的软硬件平台(1) 1.1 Win32的软硬件平台(2) 1.2 Windows的特色 1.3 必须了解的东西(1) 1.3 必须了解的东西(2) 1.3 必须了解的东西(3) 1.3 必须了解的东西(4) 1.3 必须了解的东西(5) 第2章 准备编程环境 2.1 Win32可执行文件的开发过程 2.2 编译器和链接器(1) 2.2 编译器和链接器(2) 2.2 编译器和链接器(3) 2.3 创 建 资 源 2.4 make工具的用法(1) 2.4 make工具的用法(2) 2.5 获 取 资 料 2.6 构建编程环境 第3章 使用MASM 当搭建编译和对编译器的使用不再成为绊脚石的时候,初学者的问题往往集中在对Windows程序结构的迷惑上,消息驱动体系、窗口过程、与硬件隔绝的图形接口及资源文件等相对于DOS程序来说都是全新的内容,接下来的4章将深入讨论这些内容,通过这几章,读者应该开始习惯以Windows的方式考虑问题了(脑海中的DOS逐渐远去...),这就是本书的初级篇: 3.1 Win32汇编源程序的结构(1) 3.1 Win32汇编源程序的结构(2) 3.1 Win32汇编源程序的结构(3) 3.2 调用API(1) 3.2 调用API(2) 3.2 调用API(3) 3.3 标号、变量和数据结构(1) 3.3 标号、变量和数据结构(2) 3.3 标号、变量和数据结构(3) 3.3 标号、变量和数据结构(4) 3.3 标号、变量和数据结构(5) 3.4 使用子程序 3.5 高 级 语 法(1) 3.5 高 级 语 法(2) 3.6 代 码 风 格(1) 3.6 代 码 风 格(2) 第4章 第一个窗口程序 4.1 开始了解窗口(1) 4.1 开始了解窗口(2) 4.1 开始了解窗口(3) 4.2 分析窗口程序(1) 4.2 分析窗口程序(2) 4.2 分析窗口程序(3) 4.2 分析窗口程序(4) 4.2 分析窗口程序(5) 4.3 窗口间的消息互发 4.4 实 验(1) 4.4 实 验(2) 4.4 实 验(3) 第5章 使用资源 5.1 菜单和加速键(1) 5.1 菜单和加速键(2) 5.1 菜单和加速键(3) 5.1 菜单和加速键(4) 5.1 菜单和加速键(5) 5.1 菜单和加速键(6) 5.1 菜单和加速键(7) 5.2 图标和光标(1) 5.2 图标和光标(2) 5.3 位 图 5.4 对 话 框(1) 5.4 对 话 框(2) 5.4 对 话 框(3) 5.4 对 话 框(4) 5.4 对 话 框(5) 5.4 对 话 框(6) 5.4 对 话 框(7) 5.4 对 话 框(8) 5.4 对 话 框(9) 5.4 对 话 框(10) 5.4 对 话 框(11) 5.5 字符串资源/5.6 版本信息资源(1) 5.6 版本信息资源(2) 5.7 二进制资源和自定义资源 第6章 定时器 6.1 定时器简介/6.2 定时器的使用(1) 6.2 定时器的使用(2) 6.3 取Windows时间 第7章 图形操作 Windows系统不像DOS系统,它的应用程序界面是规范化的,统一的界面来自大量的系统界面控件,学习这些控件就等于学习如何编写Windows界面,下面的界面篇中的两章将探讨这方面的内容: 7.1 GDI原理(1) 7.1 GDI原理(2) 7.1 GDI原理(3) 7

21,459

社区成员

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

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