⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme.txt

📁 访问32位PCI总线MEMORY的例程
💻 TXT
字号:
ハイメモリアクセスライブラリ(MEMFUNC)  Ver.2.0  for PC/AT


 Interface1999年3月号の第5章に掲載時より新たな関数が追加されバージョンアップが行われています.最新版の関数一覧は本アーカイブファイル同封の MEMFUNC.TXT を参照してください.
 さらに対応コンパイラとして,LSI C-86試食版以外にTurbo Cにも対応しました.


●アーカイブファイル内容
README.TXT	アーカイブファイル内容説明(このファイル)

MEMFUNC.TXT	MEMFUNC関数説明ファイル
MEMFUNC.H	MEMFUNCヘッダファイル
MEMFUNC.ASM	MEMFUNCアセンブラソースファイル(LSI C-86用)
MEMFUNC.OBJ	MEMFUNCオブジェクトファイル(LSI C-86用)
MEMFUNC2.ASM	MEMFUNCアセンブラソースファイル(Turbo C用)
MEMFUNC2.OBJ	MEMFUNCオブジェクトファイル(Turbo C用)
MK.BAT		MEMFUNCオブジェクト生成用アセンブルバッチファイル

MEMTEST.C	MEMFUNC用サンプルソース
MKSMP.BAT	MEMFUNC用サンプルプログラム用コンパイルバッチファイル
MEMTESTL.EXE	MEMFUNC用サンプルプログラム(LSI C-86でコンパイルしたもの)
MEMTESTT.EXE	MEMFUNC用サンプルプログラム(Turbo Cでコンパイルしたもの)


●MEMFUNCについて
 アセンブルにはTurboアセンブラ 2.01を使用しています.


●MEMTESTのコンパイル方法
▲MEMTESTL.EXE(LSI C-86試食版)
 MEMTESTL.EXEはLSI C-86試食版でコンパイルしたEXEファイルです.LSI C-86試食版をコンパイルできる環境下で,カレントディレクトリに MEMTEST.C MEMFUNC.H MEMFUNC.OBJ MKSMP.BAT を置いて,そこで MKSMP.BAT を実行するとコンパイルされます.

▲MEMTESTT.EXE(Turbo C)
 MEMTESTTはTurbo C 2.0でコンパイルしたEXEファイルです.Turbo Cをコンパイルできる環境下で,カレントディレクトリに MEMTEST.C MEMFUNC.H MEMFUNC.OBJ MEMFUNC2.OBJ MKSMP.BAT を置いて,そこで MKSMP.BAT を実行するとコンパイルされます.


●MEMTESTの動作内容
 このプログラムで16Mバイト以降のメモリアドレスを使用しているので,20Mバイト程度のメインメモリを搭載したシステムでないと動作しません.
 まず新しく追加されたgetCpuMode()関数を使ってCPUモードをチェックし,EMM386などのメモリドライバが動いていないかどうか確認します.以降のメモリ読み書きでアドレス1Mバイト以降の領域を使うため,EMM386などのメモリドライバが動作しているとドライバ領域を破壊してしまうためです.
 まずアドレス16Mバイト(1000000h~)のところに,バイト/ワード/ダブルワードの各サイズで任意のデータを書き込み読み出して結果を表示します.
 また配列変数に値をセットし,その配列の内容をアドレス1100000hの領域に書き込みます.そして別の配列にアドレス1100000hの領域を読み出して,ダンプ表示します.
 さらに新しく追加されたハイメモリ間ブロック転送関数を使って,アドレス1100000hの領域をアドレス1200000hの領域に直接コピーします.そして配列に読み出して先頭16バイトをダンプ表示します.
 またアドレス1300000のところにダブルワードで値を書き込み,64ワード(256バイト)メモリフィルをします.これも同様に配列に読み出して先頭16バイトをダンプ表示します.


 なお,日本語ドライバ(DOS/Vシステム)もハイメモリ領域を使用しているので,このプログラムではアドレス16Mバイト以降の領域を使用しました.こちらのテストでは日本語ドライバが動作している環境でも動いていますが,使用する日本語ドライバのバージョンによってはハイメモリ領域の使い方が異なる場合もあります.この関数群でハイメモリ領域を直接操作される場合は,メモリドライバはもちろん,日本語ドライバも常駐させない環境で使用するのが安全だと思われます.



●バージョンアップ履歴
・1999年1月1日
	初版
・2000年2月7日
	メモリドライバ動作環境時でもブロック転送関数が動作するように修正
・2000年12月1日
	Turbo C対応(引き数スタック渡方式)対応版正式公開

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -