;****************************************************************************** ; システム関係のマクロ ;****************************************************************************** ifndef _SYSTEM_INC_ _SYSTEM_INC_ equ 0 ;****************************************************************************** ; 日付の取得 ;****************************************************************************** fc_get_date macro mov ah, 2ah int 21h endm ;****************************************************************************** ; 日付の設定 ;****************************************************************************** fc_set_date macro year, month, day mov cx, year mov dh, month mov dl, day mov ah, 2bh int 21h endm ;****************************************************************************** ; 時刻の取得 ;****************************************************************************** fc_get_time macro mov ah, 2ch int 21h endm ;****************************************************************************** ; 時刻の設定 ;****************************************************************************** fc_set_time macro hour, minutes, seconds mov ch, hour mov cl, minutes mov dh, seconds mov dl, 0 mov ah, 2dh int 21h endm ;****************************************************************************** ; MS-DOSバージョンの取得 ;****************************************************************************** fc_get_version macro mov ax, 3000h int 21h endm ;****************************************************************************** ; ディスクのフリースペースの取得 ;****************************************************************************** ; ディスク番号 DISK_CUR equ 0 DISK_A equ 1 DISK_B equ 2 DISK_C equ 3 DISK_D equ 4 fc_free_space macro drive mov dl, drive mov ah, 36h int 21h endm ;****************************************************************************** ; プログラムの実行 ;****************************************************************************** fc_execute macro path, command_line, parms mov dx, offset path mov bx, offset parms mov word ptr parms[02h], offset command mov word ptr parms[04h], cs mov word ptr parms[06h], 5ch mov word ptr parms[08h], es mov word ptr parms[0ah], 6ch mov word ptr parms[0ch], es mov ax, 4b00h int 21h endm ;****************************************************************************** ; プロセスの終了 ;****************************************************************************** fc_end_process macro return_code mov al, return_code mov ah, 4ch int 21h endm endif ; _SYSTEM_INC_