misc/include/doscall.mac- Source code ソースコード - XEiJ - STUDIO KAMADA
misc/include/doscall.mac

    	.nlist
      .ifndef __doscall_mac__
    __doscall_mac__	equ	1

    ;----------------------------------------------------------------
    ;
    ;	DOSコール
    ;
    ;----------------------------------------------------------------

    _EXIT		equ	$FF00		;プロセスの終了(終了コード指定なし)
    _GETCHAR	equ	$FF01		;標準入力から1バイト入力(標準出力にエコーバックする)
    _PUTCHAR	equ	$FF02		;標準出力に1バイト出力
    _COMINP		equ	$FF03		;標準シリアル入出力から1バイト入力
    _COMOUT		equ	$FF04		;標準シリアル入出力に1バイト出力
    _PRNOUT		equ	$FF05		;標準プリンタ出力に1バイト出力
    _INPOUT		equ	$FF06		;標準ハンドラへの入出力
    _INKEY		equ	$FF07		;標準入力から1バイト入力(^C,^P,^Nを処理しない)
    _GETC		equ	$FF08		;標準入力から1バイト入力(^C,^P,^Nを処理する)
    _PRINT		equ	$FF09		;標準出力に文字列を出力
    _GETS		equ	$FF0A		;標準入力から文字列を入力(^C,^P,^Nを処理する)
    _KEYSNS		equ	$FF0B		;標準入力から1バイト先読み
    _KFLUSH		equ	$FF0C		;標準入力バッファをフラッシュしてから標準入力から入力
    _FFLUSH		equ	$FF0D		;バッファフラッシュ
    _CHGDRV		equ	$FF0E		;カレントドライブの変更
    _DRVCTRL	equ	$FF0F		;ドライブコントロール
    _CONSNS		equ	$FF10		;標準出力への出力の可・不可を調べる
    _PRNSNS		equ	$FF11		;標準プリンタ出力への出力の可・不可を調べる
    _CINSNS		equ	$FF12		;標準シリアル入出力からの入力の可・不可を調べる
    _COUTSNS	equ	$FF13		;標準シリアル入出力への出力の可・不可を調べる

    _FATCHK		equ	$FF17		;ファイルやディレクトリのFATの繋がりを調べる
    _HENDSP		equ	$FF18		;かな漢字変換ウィンドウの表示
    _CURDRV		equ	$FF19		;カレントドライブ番号を得る
    _GETSS		equ	$FF1A		;標準入力から文字列を入力(^C,^P,^Nを処理しない)
    _FGETC		equ	$FF1B		;ハンドラから1バイト入力
    _FGETS		equ	$FF1C		;ハンドラから文字列を入力
    _FPUTC		equ	$FF1D		;ハンドラへ1バイト出力
    _FPUTS		equ	$FF1E		;ハンドラへ文字列を出力
    _ALLCLOSE	equ	$FF1F		;実行中のプロセスとその子プロセスがオープンしたハンドラをすべてクローズする
    _SUPER		equ	$FF20		;スーパーバイザモードの切り替え
    _FNCKEY		equ	$FF21		;再定義可能キーの読み込みと設定
    _KNJCTRL	equ	$FF22		;かな漢字変換の制御
    _CONCTRL	equ	$FF23		;コンソール出力の制御
    _KEYCTRL	equ	$FF24		;コンソール入力の制御
    _INTVCS		equ	$FF25		;例外処理ベクタの設定
    _PSPSET		equ	$FF26		;プロセス管理テーブルの作成
    _GETTIM2	equ	$FF27		;時刻を得る(ロングワード)
    _SETTIM2	equ	$FF28		;時刻を設定する(ロングワード)
    _NAMESTS	equ	$FF29		;ファイル名の分解
    _GETDATE	equ	$FF2A		;日付を得る
    _SETDATE	equ	$FF2B		;日付を設定する
    _GETTIME	equ	$FF2C		;時刻を得る(ワード)
    _SETTIME	equ	$FF2D		;時刻を設定する(ワード)
    _VERIFY		equ	$FF2E		;verifyのモードの設定
    _DUP0		equ	$FF2F		;標準ハンドラの変換
    _VERNUM		equ	$FF30		;Humanのバージョンの取得
    _KEEPPR		equ	$FF31		;プロセスの常駐終了
    _GETDPB		equ	$FF32		;DPBの取得
    _BREAKCK	equ	$FF33		;breakおよびoffの取得と設定
    _DRVXCHG	equ	$FF34		;ドライブの入れ換え
    _INTVCG		equ	$FF35		;例外処理ベクタの取得
    _DSKFRE		equ	$FF36		;ドライブの空容量の取得
    _NAMECK		equ	$FF37		;ファイル名のチェック

    _MKDIR		equ	$FF39		;ディレクトリの作成
    _RMDIR		equ	$FF3A		;ディレクトリの削除
    _CHDIR		equ	$FF3B		;カレントディレクトリの設定
    _CREATE		equ	$FF3C		;新規ファイルの作成
    _OPEN		equ	$FF3D		;ファイルのオープン
    _CLOSE		equ	$FF3E		;ハンドラのクローズ
    _READ		equ	$FF3F		;ハンドラから指定されたサイズのデータを読み込む
    _WRITE		equ	$FF40		;ハンドラへ指定されたサイズのデータを書き込む
    _DELETE		equ	$FF41		;ファイルの削除
    _SEEK		equ	$FF42		;ハンドラのシーク位置の変更
    _CHMOD		equ	$FF43		;ファイルまたはディレクトリの属性の読み込みと設定
    _IOCTRL		equ	$FF44		;デバイスによるハンドラの直接制御
    _DUP		equ	$FF45		;ハンドラの複製
    _DUP2		equ	$FF46		;ハンドラの複写
    _CURDIR		equ	$FF47		;カレントディレクトリの取得
    _MALLOC		equ	$FF48		;メモリブロックの確保(下位から)
    _MFREE		equ	$FF49		;メモリブロックの開放
    _SETBLOCK	equ	$FF4A		;メモリブロックのサイズの変更
    _EXEC		equ	$FF4B		;子プロセスの実行
    _EXIT2		equ	$FF4C		;プロセスの終了(終了コード指定あり)
    _WAIT		equ	$FF4D		;子プロセスの終了コードの取得
    _FILES		equ	$FF4E		;ディレクトリエントリの検索(最初)
    _NFILES		equ	$FF4F		;ディレクトリエントリの検索(次)

    _V2_SETPDB	equ	$FF50		;プロセス管理テーブルの移動
    _V2_GETPDB	equ	$FF51		;プロセス管理テーブルの取得
    _V2_SETENV	equ	$FF52		;環境変数の設定
    _V2_GETENV	equ	$FF53		;環境変数の取得
    _V2_VERIFYG	equ	$FF54		;verifyのモードの取得
    _V2_COMMON	equ	$FF55		;common領域の制御
    _V2_RENAME	equ	$FF56		;ファイル名またはディレクトリ名の変更およびファイルの移動
    _V2_FILEDATE	equ	$FF57		;ハンドラの更新日時の取得と設定
    _V2_MALLOC2	equ	$FF58		;メモリブロックの確保(モード指定あり)

    _V2_MAKETMP	equ	$FF5A		;テンポラリファイルの作成
    _V2_NEWFILE	equ	$FF5B		;新規ファイルの作成(非破壊)
    _V2_LOCK	equ	$FF5C		;ハンドラのロックの制御

    _V2_ASSIGN	equ	$FF5F		;仮想ドライブおよび仮想ディレクトリの取得と設定

    _V2_FFLUSH_SET	equ	$FF7A		;fflushのモードの取得と設定(2.15～)
    _V2_OS_PATCH	equ	$FF7B		;Humanの変更(2.15～)
    _V2_GETFCB	equ	$FF7C		;FCBテーブルの取得
    _V2_S_MALLOC	equ	$FF7D		;メインスレッドのメモリ管理からメモリブロックを確保
    _V2_S_MFREE	equ	$FF7E		;メインスレッドのメモリ管理からメモリブロックを削除
    _V2_S_PROCESS	equ	$FF7F		;サブのメモリ管理の設定

    _SETPDB		equ	$FF80		;プロセス管理テーブルの移動
    _GETPDB		equ	$FF81		;プロセス管理テーブルの取得
    _SETENV		equ	$FF82		;環境変数の設定
    _GETENV		equ	$FF83		;環境変数の取得
    _VERIFYG	equ	$FF84		;verifyのモードの取得
    _COMMON		equ	$FF85		;common領域の制御
    _RENAME		equ	$FF86		;ファイル名またはディレクトリ名の変更およびファイルの移動
    _FILEDATE	equ	$FF87		;ハンドラの更新日時の取得と設定
    _MALLOC2	equ	$FF88		;メモリブロックの確保(モード指定あり)

    _MAKETMP	equ	$FF8A		;テンポラリファイルの作成
    _NEWFILE	equ	$FF8B		;新規ファイルの作成(非破壊)
    _LOCK		equ	$FF8C		;ハンドラのロックの制御

    _ASSIGN		equ	$FF8F		;仮想ドライブおよび仮想ディレクトリの取得と設定

    _FFLUSH_SET	equ	$FFAA		;fflushのモードの取得と設定(2.15～)
    _OS_PATCH	equ	$FFAB		;Humanの変更(2.15～)
    _GETFCB		equ	$FFAC		;FCBテーブルの取得
    _S_MALLOC	equ	$FFAD		;メインスレッドのメモリ管理からメモリブロックを確保
    _S_MFREE	equ	$FFAE		;メインスレッドのメモリ管理からメモリブロックを削除
    _S_PROCESS	equ	$FFAF		;サブのメモリ管理の設定

    _EXITVC		equ	$FFF0		;_EXITVC(プロセスが終了したときのジャンプ先のベクタ)
    _CTRLVC		equ	$FFF1		;_CTRLVC(^Cのときのジャンプ先のベクタ)
    _ERRJVC		equ	$FFF2		;_ERRJVC(システムエラーが発生したときのジャンプ先のベクタ)
    _DISKRED	equ	$FFF3		;ハンドラから直接読み込む
    _DISKWRT	equ	$FFF4		;ハンドラに直接書き込む
    _INDOSFLG	equ	$FFF5		;DOSワークのアドレス
    _SUPER_JSR	equ	$FFF6		;スーパーバイザサブルーチンの呼び出し
    _BUS_ERR	equ	$FFF7		;バスエラーチェック
    _OPEN_PR	equ	$FFF8		;バックグラウンドタスクの登録(スレッドが生成されたとき呼ばれるベクタ)
    _KILL_PR	equ	$FFF9		;プロセスの削除(スレッドが消滅したとき呼ばれるベクタ)
    _GET_PR		equ	$FFFA		;スレッド管理情報の取得
    _SUSPEND_PR	equ	$FFFB		;強制スリープ
    _SLEEP_PR	equ	$FFFC		;スリープ
    _SEND_PR	equ	$FFFD		;スレッド間通信
    _TIME_PR	equ	$FFFE		;タイマカウンタの取得
    _CHANGE_PR	equ	$FFFF		;実行権の放棄(スレッドが切り替わったとき呼ばれるベクタ)

    DOS	.macro	num
    	.dc.w	num
    	.endm

      .endif  ;__doscall_mac__
    	.list

STUDIO KAMADA
Copyright © 1999-2026 Makoto Kamada