中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 求 dos 关机原代码中断INT 15 资料
作者:
标题: 求 dos 关机原代码中断INT 15 资料 上一主题 | 下一主题
1169182867
新手上路





积分 6
发帖 2
注册 2009-8-9
状态 离线
『楼 主』:  求 dos 关机原代码中断INT 15 资料 [已使用 LLM 解释]

XXXX:0100 mov ax, 5301
mov bx,0
int 15
mov ax, 5307
mov bx, 1
mov cx, 3
int 15
mov ax,4c00
int 21
原贴:http://www.cn-dos.net/forum/viewthread.php?tid=559
确不知道INT 15的功能号用法,求相关资料!!谢谢!!
LLM 解释

1. 首先分析INT 15h相关功能简介

INT 15h是IBM PC兼容计算机中BIOS中断之一,用于调用各种系统功能。

(1)功能号5301h

  • 功能:获取电源管理信息等。
  • 参数BX=0AX=5301h调用时,BIOS会返回有关电源管理的状态等信息。一般来说,BIOS会根据硬件情况设置相关寄存器返回结果,例如可能会返回当前系统的电源状态等信息。

(2)功能号5307h

  • 功能:设置电源管理相关参数。
  • 参数BX=1表示设置电源管理操作,CX=3表示具体的设置内容相关。在DOS环境下,5307h功能主要用于控制计算机的电源状态,比如设置系统进入某种低功耗状态等。BX = 1是指定操作类型,CX中的值3是特定的参数值,不同的CX值可能对应不同的电源管理操作模式。

2. 详细的INT 15h功能号5301h5307h的规范资料参考

(1)INT 15h功能号5301h的规范

  • 入口参数AX = 5301hBX = 0
  • 出口参数:根据BIOS实现不同,一般会设置ES:DI指向相关的电源管理数据结构等,具体的寄存器返回值需要根据实际硬件情况查看BIOS文档。例如,可能会设置AX等寄存器来返回电源状态相关信息,比如电源是否处于开启、挂起等状态。

(2)INT 15h功能号5307h的规范

  • 入口参数AX = 5307hBX = 1CX = 3
  • 出口参数:一般如果设置成功,BIOS会完成相应的电源管理设置操作,比如让系统进入指定的低功耗状态等。如果设置失败,可能会设置CF标志位等,具体需要根据BIOS的错误处理机制来判断。

3. 相关BIOS文档查阅

要获取更详细准确的资料,可以查阅IBM PC的BIOS技术文档,例如IBM的《PC BIOS Reference Manual》等相关文档,其中会详细描述INT 15h各种功能号的具体用法、参数含义以及返回值等信息。在DOS开发环境中,也可以通过查看一些经典的DOS开发书籍,比如《PC汇编语言程序设计》等,其中会有关于BIOS中断调用的相关章节介绍INT 15h的使用。

以下是一个简单的代码运行逻辑解释(针对你提供的代码):

mov ax, 5301 
mov bx,0
int 15 ; 调用INT 15h功能号5301h,获取电源管理相关信息
mov ax, 5307
mov bx, 1
mov cx, 3
int 15 ; 调用INT 15h功能号5307h,设置电源管理相关参数
mov  ax,4c00
int 21 ; 程序返回DOS

这段代码首先调用INT 15h5301h功能获取电源状态等信息,然后调用5307h功能设置电源相关参数,最后通过INT 21h4C00h功能号返回DOS。但是在实际运行中,需要确保硬件支持相应的电源管理功能,并且BIOS对这些功能有正确的实现。



2009-8-18 06:17
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: