readme.txt

来自「访问32位PCI总线IO的例程」· 文本 代码 · 共 58 行

TXT
58
字号
32ビット I/O アクセスライブラリ(IOFUNC)   Ver.2.0


 対応コンパイラとして,LSI C-86試食版以外にTurbo Cにも対応しました.


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

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

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


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


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

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

注意:他のPCIデバッグライブラリと異なり,IOFUNC2.OBJだけは単独で動作します.
(他のライブラリは,LSI C-86試食版用のOBJを内部から呼び出す形式)


●IOTESTの動作内容
 このプログラムは,I/Oアドレス 300h に 12345678h を書き込み,同じアドレスを32ビットサイズで読み出して,その結果を表示するものです.
 I/Oアドレス 300h に何もデバイスが実装されていなければ,書き込み動作は無視され,また読み出しでは FFFFFFFFh が返されます.何かデバイスが実装されていれば,300h に32ビットサイズで 12345678h を書き込み,さらに32ビットサイズで読み出します.300h に実装されているI/Oレジスタが32ビット読み書き可能なレジスタであれば,12345678hが読み出されます.


●IOTEST実行時の注意点
 一般的には 300h はISAのI/Oアドレスであり,アダプテックのSCSIカードAHA-1542などや,ISAバスのサウンドブラスタなどで使われています.これらのようにすでに 300h が使用されている環境でこのプログラムを走らせることは危険です.
 ISAカードを実装せずに,PCIバスのVGAカードだけを実装したようなマシンでは,300hが未使用であるのが一般的です.サンプルのプログラムをそのまま走らせる場合は,300hが未使用であるか,または不用意に読み書きしても問題のないI/Oデバイスであることがわかっているときのみ可能です.



●バージョンアップ履歴
・1999年1月1日
	初版
・1999年2月10日
	引き数の引き渡しフォーマットにバグがあったのを修正.
	バグのあった関数は_IoWriteLong()関数.
・2000年12月1日
	Turbo C対応(引き数スタック渡方式)対応版正式公開

⌨️ 快捷键说明

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