-
Notifications
You must be signed in to change notification settings - Fork 6
/
LDCALL.ASM
92 lines (77 loc) · 1.83 KB
/
LDCALL.ASM
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
; LSX-Dodgers システムコール(BDOS)
;
; LSX-Dodgers SYSTEM CALL
; STABLE:アドレス下位1バイトが0になるように
STABLE:
;0
DW _SYS00,_SYS01,_SYS02,_SYS03
DW _SYS04,_SYS05,_SYS06,_SYS07
DW _SYS08,_SYS09,_SYS0A,_SYS0B
DW _SYS0C,_SYS0D,_SYS0E,_SYS0F
;1
DW _SYS10,_SYS11,_SYS12,_SYS13
DW _SYS14,_SYS15,_SYS16,_SYS17
DW _SYS18,_SYS19,_SYS1A,_SYS1B
DW _SYS1C,_SYS1D,_SYS1E,_SYS1F
;2
DW _SYS20,_SYS21,_SYS22,_SYS23
DW _SYS24,_ERROR,_SYS26,_SYS27
DW _SYS28,_SYS29,_SYS2A,_SYS2B
DW _SYS2C,_SYS2D,_SYS2E,_SYS2F
;3
DW _SYS30,_ERROR,_ERROR,_ERROR
DW _ERROR,_ERROR,_ERROR,_ERROR
DW _ERROR,_SYS39,_SYS3A,_SYS5A
;DOS2
DW _DOS2
DS 1
_MAX_SEC_SZ_H:
DB MAX_SEC_SZ_H
; FATバッファのアドレス
_FATBF:
DW FATBF
; データバッファのアドレス
_DTBUF:
DW DTBUF
; コントロールコードテーブル
; CTRLTB:アドレス下位1バイトが080Hになるように
CTRLTB:
DW CTRL00,CTRL00,CTRL02,CTRL03 ; A,B,C
DW CTRL04,CTRL05,CTRL06,CTRL07 ;D,E,F,G
DW CTRL08,CTRL09,CTRL0A,CTRL0B ;H,I,J,K
DW CTRL0C,CTRL0D,CTRL0E,CTRL00 ;L,M,N,O
DW CTRL00,CTRL00,CTRL12,CTRL00 ;P,Q,R,S
DW CTRL00,CTRL00,CTRL00,CTRL00 ;T,U,V,W
DW CTRL00,CTRL00,CTRL0C,CTRL1B ;X,Y,Z,ESC
DW CTRL1C,CTRL1D,CTRL1E,CTRL1F ;→,←,↑,↓
; 2D/2DDでBPBがない場合のデフォルト値(2D/360KB/9セクタ1024バイト)
M2D: DW 2
DB 0FDH,2
DW 356
DB 0FFH,7,40,9,1,082H
DW 5,0A7H,8
; 2HDでBPBがない場合のデフォルト値(2HD/1.23MB/8セクタ1024バイト)
M2HD: DW 2
DB 0FEH,1
DW 1223
DB 0FEH,6,77,8,1,084H
DW 5,0A7H,9
; ディレクトリエントリとFCBの変換テーブル(日付+時刻+サイズ)
SDDATA: DB 22,23 ;(FCB)ファイルを最後に変更した時刻
DB 20,21 ;(FCB)ファイルを最後に変更した日付
DB 26,27 ;(FCB)ファイルの先頭クラスタ
DB 16,17,18,19 ;(FCB)ファイルのサイズ(バイト単位)
SDDATAE:
DS 2
; バッチファイルのFCB
_FCB_BAT:
DW FCB_BAT
_PATH:
DW PATHD
SCDIR: DS 2 ;+14 +15
SFBPS: DS 2 ;FBPS
SFNDF: DS 2 ;FILEN DIRF
_FATPS: DW 0
_DIRPS: DW 0
_CLPS: DW 0
_PE: