| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 912 人关注过本帖
标题:请教一个关于BIOS中断15读扩展内存的问题!
只看楼主 加入收藏
ambrosia616
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-11-10
收藏
 问题点数:0 回复次数:0 
请教一个关于BIOS中断15读扩展内存的问题!

我想要调用int15h,返回扩展内存大小的值。试了以下程序,发现返回值应该过大溢出了。我测试的机器内存有32GB。

请问高手怎样才能返回那么大的值呢?多谢各位!

程序如下:

'Filename:Mem.Bas
'本程序在QB4.5中调试通过
'$INCLUDE: 'E:\QB\QB.BI' '包含头文件
DIM InReg AS RegType, OutReg AS RegType '定义寄存器变量
INTERRUPT &H12, InReg, OutReg '调用12H中断
PRINT "基本内存:"; OutReg.ax; "KB" '将结果OutReg.ax输出
InReg.ax = &H880
INTERRUPT &H15, InReg, outreg '调用15H中断
PRINT "扩展内存:"; OutReg.ax; "KB" '将结果OutReg.ax输出
END

在INTERRUPT中的定义:
TYPE RegType
ax AS INTEGER
bx AS INTEGER
cx AS INTEGER
dx AS INTEGER
dp AS INTEGER
si AS INTEGER
di AS INTEGER
flags AS INTEGER
END TYPE
在INTERRUPTX中的定义:
TYPE RegType
ax AS INTEGER
bx AS INTEGER
cx AS INTEGER
dx AS INTEGER
dp AS INTEGER
si AS INTEGER
di AS INTEGER
flags AS INTEGER
ds AS INTEGER
es AS INTEGER
END TYPE

搜索更多相关主题的帖子: 内存 BIOS 寄存器 OutReg InReg 
2005-11-10 17:28
快速回复:请教一个关于BIOS中断15读扩展内存的问题!
数据加载中...
 
   



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

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