在普通PC状态下,可以用中断控制鼠标和显色吗?

六道佩恩 2019-01-27 10:28:49
我试了0x33号的鼠标中断和0x10号的显色,都没一点效果,请问是怎么回事?
...全文
758 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
GCC生成DOS程序需要DJGPP移植,http://www.delorie.com/djgpp/
六道佩恩 2019-01-31
  • 打赏
  • 举报
回复
我是用gcc直接编译成的exe,是属于控制台程序吗?如果您说的dos exe不是指这个,那又是哪种形式的程序?
  • 打赏
  • 举报
回复
控制台程序和DOS程序不是一回事。32/64位控制台程序不能调用BIOS、DOS中断。
六道佩恩 2019-01-30
  • 打赏
  • 举报
回复
引用 6 楼 早打大打打核战争 的回复:
你设置的这是mode 0,40x25,单色字符模式,不是图形模式 mov ax,0013h int 10h mov ax,0c08h mov bh,0 mov cx,00a0h mov dx,0064h int 10h
我试了,在DOSBOX下可行,不过有两个疑问,第一个是出现的效果,13H功能不是显示字符串吗?就画面而言“press any key”几个字变大了,以及有一个异色点,这个点应该就是你画的了,可是这不是显示字符的模式吗?第二个疑问是用gcc内联汇编无效,您知道是为什么吗?
六道佩恩 2019-01-30
  • 打赏
  • 举报
回复
dos exe?请问是什么意思?应该是控制台程序吧。
  • 打赏
  • 举报
回复
是mode 13h,320x200 256色
gcc内联汇编无效应该是你输出的不是dos exe
  • 打赏
  • 举报
回复
你设置的这是mode 0,40x25,单色字符模式,不是图形模式
mov ax,0013h
int 10h
mov ax,0c08h
mov bh,0
mov cx,00a0h
mov dx,0064h
int 10h
六道佩恩 2019-01-28
  • 打赏
  • 举报
回复
引用 3 楼 早打大打打核战争 的回复:
要骂你没试对,要么你的运行环境不支持调用BIOS中断
前面先试着开启显示模式,后面试着画一个点
  • 打赏
  • 举报
回复
要么你没试对...
  • 打赏
  • 举报
回复
要骂你没试对,要么你的运行环境不支持调用BIOS中断
六道佩恩 2019-01-28
  • 打赏
  • 举报
回复
引用 1 楼 早打大打打核战争 的回复:
INT 33h并非BIOS中断,也就是说ROM BIOS并没有提供INT 33h的中断服务例程,需要驱动程序提供。 INT 10h是BIOS支持的,所以可以直接使用,但是你得先进入图形模式画点(估计是你说的显色?)才有效。
你说的图形模式是INT 10h的第0号功能吗?如果是的话我已经试过了。。。
  • 打赏
  • 举报
回复
INT 33h并非BIOS中断,也就是说ROM BIOS并没有提供INT 33h的中断服务例程,需要驱动程序提供。
INT 10h是BIOS支持的,所以可以直接使用,但是你得先进入图形模式画点(估计是你说的显色?)才有效。

21,497

社区成员

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

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