Subversion Repositories Kolibri OS

Rev

Rev 3539 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1156 Lrz 1
flat assembler  version 1.68  (65535 kilobytes memory)
2
0000: E9 E1 0A                               jmp         start
3
0003: 53 65 63 6F 6E 64 61 72 79 20 4C 6F 61 version db 'Secondary Loader v 0.009', 0
4
0010: 64 65 72 20 76 20 30 2E 30 30 39 00
5
001C: 53 65 6C 65 63 74 20 73 65 63 74 69 6F select_section db 'Select section:'
6
0029: 6E 3A
7
002B: 53 65 63 74 69 6F 6E 20 64 65 73 63 72 section_description db 'Section description:'
8
0038: 69 70 74 69 6F 6E 3A
9
003F: 53 6F 66 74 20 28 63 29 20 32 30 30 38 soft_mes db 'Soft (c) 2008'
10
004C: 3E 46 61 74 61 6C 20 2D 20 43 50 55 20 badprocessor db '>Fatal - CPU 586+ required.', 0
11
0059: 35 38 36 2B 20 72 65 71 75 69 72 65 64
12
0066: 2E 00
13
0068: 3E 45 72 72 6F 72 3A 20 63 61 6E 6E 6F error_ini_f1 db '>Error: cannot load ini file, buffer is full', 0
14
0075: 74 20 6C 6F 61 64 20 69 6E 69 20 66 69
15
0082: 6C 65 2C 20 62 75 66 66 65 72 20 69 73
16
008F: 20 66 75 6C 6C 00
17
0095: 3E 45 72 72 6F 72 3A 20 69 6E 69 20 66 error_ini_f2 db '>Error: ini file not found', 0
18
00A2: 69 6C 65 20 6E 6F 74 20 66 6F 75 6E 64
19
00AF: 00
20
00B0: 3E 45 72 72 6F 72 3A 20 63 61 6E 6E 6F error_ini_f3 db '>Error: cannot read ini file', 0
21
00BD: 74 20 72 65 61 64 20 69 6E 69 20 66 69
22
00CA: 6C 65 00
23
00CD: 3E 45 72 72 6F 72 3A 20 75 6E 72 65 63 error_ini_nf db '>Error: unrecognized error when loading ini file', 0
24
00DA: 6F 67 6E 69 7A 65 64 20 65 72 72 6F 72
25
00E7: 20 77 68 65 6E 20 6C 6F 61 64 69 6E 67
26
00F4: 20 69 6E 69 20 66 69 6C 65 00
27
00FE: 3E 4E 6F 74 20 66 6F 75 6E 64 20 73 65 not_found_sec_loader db '>Not found section [loader]', 0
28
010B: 63 74 69 6F 6E 20 5B 6C 6F 61 64 65 72
29
0118: 5D 00
30
011A: 3E 4E 6F 74 20 66 6F 75 6E 64 20 76 61 not_found_def_sect db '>Not found value default in section [loader]', 0
31
0127: 6C 75 65 20 64 65 66 61 75 6C 74 20 69
32
0134: 6E 20 73 65 63 74 69 6F 6E 20 5B 6C 6F
33
0141: 61 64 65 72 5D 00
34
0147: 3E 45 72 72 6F 72 20 69 6E 20 73 65 63 default_eq_loader db '>Error in section [loader] parametr default=loader', 0
35
0154: 74 69 6F 6E 20 5B 6C 6F 61 64 65 72 5D
36
0161: 20 70 61 72 61 6D 65 74 72 20 64 65 66
37
016E: 61 75 6C 74 3D 6C 6F 61 64 65 72 00
38
017A: 3E 46 6F 75 6E 64 20 65 71 75 61 6C 20 found_equal_default db '>Found equal parametr default will be use first value', 0
39
0187: 70 61 72 61 6D 65 74 72 20 64 65 66 61
40
0194: 75 6C 74 20 77 69 6C 6C 20 62 65 20 75
41
01A1: 73 65 20 66 69 72 73 74 20 76 61 6C 75
42
01AE: 65 00
43
01B0: 3E 46 6F 75 6E 64 20 65 71 75 61 6C 20 found_equal_timeout db '>Found equal parametr timeout will be use first value', 0
44
01BD: 70 61 72 61 6D 65 74 72 20 74 69 6D 65
45
01CA: 6F 75 74 20 77 69 6C 6C 20 62 65 20 75
46
01D7: 73 65 20 66 69 72 73 74 20 76 61 6C 75
47
01E4: 65 00
48
01E6: 3E 53 65 63 74 69 6F 6E 20 74 69 6D 65 set_default_timeout_val db '>Section timeout has incorrect value, will be use default value', 0
49
01F3: 6F 75 74 20 68 61 73 20 69 6E 63 6F 72
50
0200: 72 65 63 74 20 76 61 6C 75 65 2C 20 77
51
020D: 69 6C 6C 20 62 65 20 75 73 65 20 64 65
52
021A: 66 61 75 6C 74 20 76 61 6C 75 65 00
53
0226: 3E 49 20 77 69 6C 6C 20 75 73 65 20 70 error_ini_common db '>I will use predefined settings and try to boot. Let's hope for the best...'
54
0233: 72 65 64 65 66 69 6E 65 64 20 73 65 74
55
0240: 74 69 6E 67 73 20 61 6E 64 20 74 72 79
56
024D: 20 74 6F 20 62 6F 6F 74 2E 20 4C 65 74
57
025A: 27 73 20 68 6F 70 65 20 66 6F 72 20 74
58
0267: 68 65 20 62 65 73 74 2E 2E 2E
59
0271: 0D 0A 50 72 65 73 73 20 61 6E 79 20 6B db 13, 10, 'Press any key to continue...', 0
60
027E: 65 79 20 74 6F 20 63 6F 6E 74 69 6E 75
61
028B: 65 2E 2E 2E 00
62
0290: 3E 49 6E 69 20 66 69 6C 65 20 6C 6F 61 load_ini db '>Ini file loaded successfully', 0
63
029D: 64 65 64 20 73 75 63 63 65 73 73 66 75
64
02AA: 6C 6C 79 00
65
02AE: 3E 45 6E 64 20 70 61 72 73 69 6E 67 20 parse_ini_end db '>End parsing ini file', 0
66
02BB: 69 6E 69 20 66 69 6C 65 00
67
02C4: 3E 50 6F 69 6E 74 20 74 6F 20 64 65 66 point_to_default_sec_not_found db '>Point to default section is not found in ini file', 0
68
02D1: 61 75 6C 74 20 73 65 63 74 69 6F 6E 20
69
02DE: 69 73 20 6E 6F 74 20 66 6F 75 6E 64 20
70
02EB: 69 6E 20 69 6E 69 20 66 69 6C 65 00
71
02F7: 3E 49 6E 63 6F 72 65 63 74 20 73 65 63 incorect_section_define db '>Incorect section define not found ']'', 0
72
0304: 74 69 6F 6E 20 64 65 66 69 6E 65 20 6E
73
0311: 6F 74 20 66 6F 75 6E 64 20 27 5D 27 00
74
031E: 22 53 65 63 74 69 6F 6E 20 75 6E 6E 61 default_section_name db '"Section unname"'
75
032B: 6D 65 22
76
032E: 50 72 65 73 73 20 61 6E 79 20 6B 65 79 start_msg db 'Press any key to change default section, press [Enter] to continue booting'
77
033B: 20 74 6F 20 63 68 61 6E 67 65 20 64 65
78
0348: 66 61 75 6C 74 20 73 65 63 74 69 6F 6E
79
0355: 2C 20 70 72 65 73 73 20 5B 45 6E 74 65
80
0362: 72 5D 20 74 6F 20 63 6F 6E 74 69 6E 75
81
036F: 65 20 62 6F 6F 74 69 6E 67
82
0378: 6F 72 20 77 61 69 74 20 34 20 73 65 63 time_msg db 'or wait 4 seconds before default continuation'
83
0385: 6F 6E 64 73 20 62 65 66 6F 72 65 20 64
84
0392: 65 66 61 75 6C 74 20 63 6F 6E 74 69 6E
85
039F: 75 61 74 69 6F 6E
86
03A5: 73 65 63 6F 6E 64 73 20 62 65 66 6F 72 time_str db 'seconds before default continuation'
87
03B2: 65 20 64 65 66 61 75 6C 74 20 63 6F 6E
88
03BF: 74 69 6E 75 61 74 69 6F 6E
89
03C8: 53 65 74 20 73 74 61 63 6B 20 26 20 73 stack_msg db 'Set stack & segments is have completed', 0
90
03D5: 65 67 6D 65 6E 74 73 20 69 73 20 68 61
91
03E2: 76 65 20 63 6F 6D 70 6C 65 74 65 64 00
92
03EF: 48 61 76 65 20 6C 6F 61 64 65 64 20 73 show_string db 'Have loaded size:'
93
03FC: 69 7A 65 3A
94
0400: 20 20 20 20 20 20 00                   show_decode db '      ', 0
95
0407: 20 20 20 20 20 20 20 2D 4D 65 73 73 61 show_db1 db '       -Message debug1', 0
96
0414: 67 65 20 64 65 62 75 67 31 00
97
041E: 20 20 20 20 20 20 20 2D 4D 65 73 73 61 show_db2 db '       -Message debug2', 0
98
042B: 67 65 20 64 65 62 75 67 32 00
99
0435: 5B 6C 6F 61 64 65 72 5D 20 69 73 20 66 lm_l_found db '[loader] is found', 0
100
0442: 6F 75 6E 64 00
101
0447: 74 69 6D 65 6F 75 74 20 69 73 20 66 6F lm_lf_timeout db 'timeout is found', 0
102
0454: 75 6E 64 00
103
0458: 6E 61 6D 65 20 64 65 66 61 75 6C 74 20 lm_lf_default db 'name default is found and end parsing section', 0
104
0465: 69 73 20 66 6F 75 6E 64 20 61 6E 64 20
105
0472: 65 6E 64 20 70 61 72 73 69 6E 67 20 73
106
047F: 65 63 74 69 6F 6E 00
107
0486: 66 6F 75 6E 64 20 73 65 63 74 69 6F 6E lm_lf_section db 'found section [', 0
108
0493: 20 5B 00
109
0496: 66 6F 75 6E 64 20 64 65 66 61 75 6C 74 lm_lf_default_f db 'found default parametr', 0
110
04A3: 20 70 61 72 61 6D 65 74 72 00
111
04AD: 73 65 63 74 69 6F 6E 20 5B 6C 6F 61 64 lm_l_end db 'section [loader] is end', 0
112
04BA: 65 72 5D 20 69 73 20 65 6E 64 00
113
04C5: 53 48 4F 57 20 41 4C 4C 20 53 65 63 74 show_all_sect db 'SHOW ALL Sections', 0
114
04D2: 69 6F 6E 73 00
115
04D7: 4E 6F 74 20 73 68 6F 77 20 73 65 63 74 no_show_only_w db 'Not show sections - only work on default sect', 0
116
04E4: 69 6F 6E 73 20 2D 20 6F 6E 6C 79 20 77
117
04F1: 6F 72 6B 20 6F 6E 20 64 65 66 61 75 6C
118
04FE: 74 20 73 65 63 74 00
119
0505: 5B 20 6E 6F 74 20 66 6F 75 6E 64 00    _not_found db '[ not found', 0
120
0511: 5B 5D 20 66 6F 75 6E 64 00             _found_1 db '[] found', 0
121
051A: 5B 20 66 6F 75 6E 64 00                _found_2 db '[ found', 0
122
0522: 48 65 6C 6C 6F 20 24 29 00             say_hello db 'Hello $)', 0
123
052B: 53 74 61 72 74 20 75 73 65 5F 52 61 6D ramdiskFS_st db 'Start use_RamdiskFS macros', 0
124
0538: 64 69 73 6B 46 53 20 6D 61 63 72 6F 73
125
0545: 00
126
0546: 20 20 20 20 20 20 20 2D 4B 62 20 61 76 free_memory_msg db '       -Kb availability system free memory', 0
127
0553: 61 69 6C 61 62 69 6C 69 74 79 20 73 79
128
0560: 73 74 65 6D 20 66 72 65 65 20 6D 65 6D
129
056D: 6F 72 79 00
130
0571: 20 20 20 20 20 20 20 2D 4B 62 20 65 71 RamdiskSize_msg db '       -Kb equal RamdiskSize', 0
131
057E: 75 61 6C 20 52 61 6D 64 69 73 6B 53 69
132
058B: 7A 65 00
133
058E: 20 20 20 20 20 20 20 20 2D 62 79 74 73 RamdiskSector_msg db '        -byts RamdiskSector', 0
134
059B: 20 52 61 6D 64 69 73 6B 53 65 63 74 6F
135
05A8: 72 00
136
05AA: 20 20 20 20 20 20 20 2D 52 61 6D 64 69 RamdiskCluster_msg db '       -RamdiskCluster', 0
137
05B7: 73 6B 43 6C 75 73 74 65 72 00
138
05C1: 20 20 20 20 20 20 20 2D 73 69 7A 65 20 RamdiskFile_msg db '       -size RamdiskFile', 0
139
05CE: 52 61 6D 64 69 73 6B 46 69 6C 65 00
140
05DA: 20 20 20 20 20 20 20 2D 66 69 72 73 74 fat_create_msg db '       -first create fat table, point to next block', 0
141
05E7: 20 63 72 65 61 74 65 20 66 61 74 20 74
142
05F4: 61 62 6C 65 2C 20 70 6F 69 6E 74 20 74
143
0601: 6F 20 6E 65 78 74 20 62 6C 6F 63 6B 00
144
060E: 20 20 20 20 20 20 20 2D 69 6E 20 62 79 BPB_msg db '       -in byte, why we get data from move BPB struct', 0
145
061B: 74 65 2C 20 77 68 79 20 77 65 20 67 65
146
0628: 74 20 64 61 74 61 20 66 72 6F 6D 20 6D
147
0635: 6F 76 65 20 42 50 42 20 73 74 72 75 63
148
0642: 74 00
149
0644: 20 20 20 20 20 20 20 2D 66 69 72 73 74 firstDataSect_msg db '       -first data sector, offset to data in sectors', 0
150
0651: 20 64 61 74 61 20 73 65 63 74 6F 72 2C
151
065E: 20 6F 66 66 73 65 74 20 74 6F 20 64 61
152
066B: 74 61 20 69 6E 20 73 65 63 74 6F 72 73
153
0678: 00
154
0679: 20 20 20 20 20 20 20 2D 73 69 7A 65 20 size_root_dir_msg db '       -size root dir in sectrors', 0
155
0686: 72 6F 6F 74 20 64 69 72 20 69 6E 20 73
156
0693: 65 63 74 72 6F 72 73 00
157
069B: 20 20 20 20 20 20 20 2D 73 69 7A 65 20 DataClasters_msg db '       -size data in Clasters', 0
158
06A8: 64 61 74 61 20 69 6E 20 43 6C 61 73 74
159
06B5: 65 72 73 00
160
06B9: 20 20 20 20 20 20 20 2D 69 66 20 2D 31 check_name_fat_msg db '       -if -1 name is present, else 0 then not present name', 0
161
06C6: 20 6E 61 6D 65 20 69 73 20 70 72 65 73
162
06D3: 65 6E 74 2C 20 65 6C 73 65 20 30 20 74
163
06E0: 68 65 6E 20 6E 6F 74 20 70 72 65 73 65
164
06ED: 6E 74 20 6E 61 6D 65 00
165
06F5: 20 20 20 20 20 20 20 2D 69 66 20 2D 31 convertion_file_name_msg db '       -if -1, then destination name is bad', 0
166
0702: 2C 20 74 68 65 6E 20 64 65 73 74 69 6E
167
070F: 61 74 69 6F 6E 20 6E 61 6D 65 20 69 73
168
071C: 20 62 61 64 00
169
0721: 2D 4D 61 6B 65 20 46 41 54 31 32 20 52 make_fat12_RFS_msg db '-Make FAT12 Ram FS', 0
170
072E: 61 6D 20 46 53 00
171
0734: 2D 45 6E 64 20 6D 61 6B 65 20 52 61 6D get_type_FS_msg db '-End make RamDisk', 0
172
0741: 44 69 73 6B 00
173
0746: 20 20 20 20 2D 72 65 74 75 72 6E 20 63 return_code_af_move db '    -return code after 0x87 int 0x15, move block', 0
174
0753: 6F 64 65 20 61 66 74 65 72 20 30 78 38
175
0760: 37 20 69 6E 74 20 30 78 31 35 2C 20 6D
176
076D: 6F 76 65 20 62 6C 6F 63 6B 00
177
0777: 20 20 20 20 2D 72 65 74 75 72 6E 20 63 return_code_af_fat_m db '    -return code after 0x87 int 0x15, move fat struc', 0
178
0784: 6F 64 65 20 61 66 74 65 72 20 30 78 38
179
0791: 37 20 69 6E 74 20 30 78 31 35 2C 20 6D
180
079E: 6F 76 65 20 66 61 74 20 73 74 72 75 63
181
07AB: 00
182
07AC: 5B 6C 6F 61 64 65 72 5D                parse_loader db '[loader]'
183
07B4: 74 69 6D 65 6F 75 74                   parse_l_timeout db 'timeout'
184
07BB: 64 65 66 61 75 6C 74                   parse_l_default db 'default'
185
07C2: 61 6D 65                               parse_name db 'ame'
186
07C5: 64 65 73 63 72 69 70 74                parse_descript db 'descript'
187
07CD: 4C 6F 61 64 65 72 4D 6F 64 75 6C 65    parse_LoaderModule db 'LoaderModule'
188
07D9: 52 61 6D 64 69 73 6B 53 69 7A 65       parse_RamdiskSize db 'RamdiskSize'
189
07E4: 52 61 6D 64 69 73 6B 46 53             parse_RamdiskFS db 'RamdiskFS'
190
07ED: 52 61 6D 64 69 73 6B 53 65 63 74 6F 72 parse_RamdiskSector db 'RamdiskSector'
191
07FA: 52 61 6D 64 69 73 6B 43 6C 75 73 74 65 parse_RamdiskCluster db 'RamdiskCluster'
192
0807: 72
193
0808: 46 41 54                               parse_RFS_FAT db 'FAT'
194
080B: 4B 52 46 53                            parse_RFS_KRFS db 'KRFS'
195
080F: 4C 6F 61 64 65 72 49 6D 61 67 65       parse_Loader_Image db 'LoaderImage'
196
081A: 52 61 6D 64 69 73 6B 46 69 6C 65       parse_RamdiskFile db 'RamdiskFile'
197
0825: 66 39 C8                               cmp         eax, ecx
198
0828: 72 0D                                  jb          @f
199
082A: 66 31 D2                               xor         edx, edx
200
082D: 66 F7 F1                               div         ecx
201
0830: 66 52                                  push        edx
202
0832: E8 F0 FF                               call        decode
203
0835: 66 58                                  pop         eax
204
0837: 0C 30                                  or          al, 0x30
205
0839: 88 05                                  mov         [ ds : di ], al
206
083B: 47                                     inc         di
207
083C: C3                                     ret
208
083D: B4 0E                                  mov         ah, 0Eh
209
083F: B7 00                                  mov         bh, 0
210
0841: CD 10                                  int         10h
211
0843: C3                                     ret
212
0844: 60                                     pusha
213
0845: AC                                     lodsb
214
0846: E8 F4 FF                               call        putchar
215
0849: AC                                     lodsb
216
084A: 3C 00                                  cmp         al, 0
217
084C: 75 F8                                  jnz         @b
218
084E: B0 0D                                  mov         al, 13
219
0850: E8 EA FF                               call        putchar
220
0853: B0 0A                                  mov         al, 10
221
0855: E8 E5 FF                               call        putchar
222
0858: 61                                     popa
223
0859: C3                                     ret
224
085A: B4 00                                  mov         ah, 0
225
085C: CD 16                                  int         16h
226
085E: 38 D8                                  cmp         al, bl
227
0860: 72 F8                                  jb          getkey
228
0862: 38 F8                                  cmp         al, bh
229
0864: 77 F4                                  ja          getkey
230
0866: 50                                     push        ax
231
0867: E8 D3 FF                               call        putchar
232
086A: 58                                     pop         ax
233
086B: 83 E0 0F                               and         ax, 0Fh
234
086E: 75 02                                  jnz         @f
235
0870: B0 0A                                  mov         al, 10
236
0872: C3                                     ret
237
0873: 26 8A 05                               mov         al, byte [ es : di ]
238
0876: 47                                     inc         di
239
0877: 49                                     dec         cx
240
0878: E3 20                                  jcxz        .exit
241
087A: 3C 0A                                  cmp         al, 0xa
242
087C: 74 0A                                  jz          ._entry
243
087E: 3C 3B                                  cmp         al, ';'
244
0880: 75 F1                                  jnz         .start
245
0882: B0 0A                                  mov         al, 0xa
246
0884: F2                                     repnz
247
0885: AE                                     scasb
248
0886: E3 12                                  jcxz        .exit
249
0888: 26 8A 05                               mov         al, byte [ es : di ]
250
088B: 3C 20                                  cmp         al, ' '
251
088D: 75 07                                  jnz         .not_space
252
088F: F3                                     repe
253
0890: AE                                     scasb
254
0891: 4F                                     dec         di
255
0892: 41                                     inc         cx
256
0893: 26 8A 05                               mov         al, byte [ es : di ]
257
0896: 3C 3B                                  cmp         al, ';'
258
0898: 74 E8                                  jz          .first_com
259
089A: C3                                     ret
260
089B: 56                                     push        si
261
089C: 68 00 20                               push        ini_data_
262
089F: 07                                     pop         es
263
08A0: B0 5D                                  mov         al, ']'
264
08A2: F2                                     repnz
265
08A3: AE                                     scasb
266
08A4: 85 C9                                  test        cx, cx
267
08A6: 0F 84 0F 02                            jz          error.incorect_section_def
268
08AA: B0 6E                                  mov         al, 'n'
269
08AC: F2                                     repnz
270
08AD: AE                                     scasb
271
08AE: E3 69                                  jcxz        .not_name_sec_fb
272
08B0: BE C2 07                               mov         si, parse_name
273
08B3: 51                                     push        cx
274
08B4: 57                                     push        di
275
08B5: B9 03 00                               mov         cx, parse_name_e - parse_name
276
08B8: F3                                     repe
277
08B9: A6                                     cmpsb
278
08BA: 5F                                     pop         di
279
08BB: 59                                     pop         cx
280
08BC: 74 02                                  jz          .yaaa_find_value
281
08BE: EB EC                                  jmp         .find_val_name_fb
282
08C0: 83 E9 03                               sub         cx, parse_name_e - parse_name
283
08C3: 83 C7 03                               add         di, parse_name_e - parse_name
284
08C6: B8 20 3D                               mov         ax, 0x3d20
285
08C9: F3                                     repe
286
08CA: AE                                     scasb
287
08CB: 85 C9                                  test        cx, cx
288
08CD: 74 4A                                  jz          .not_name_sec_fb
289
08CF: 26 3A 65 FF                            cmp         ah, byte [ es : di - 1 ]
290
08D3: 75 D5                                  jnz         .find_val_name_fb1
291
08D5: F3                                     repe
292
08D6: AE                                     scasb
293
08D7: 41                                     inc         cx
294
08D8: 4F                                     dec         di
295
08D9: 06                                     push        es
296
08DA: 1F                                     pop         ds
297
08DB: 68 00 B8                               push        0xb800
298
08DE: 07                                     pop         es
299
08DF: 31 C0                                  xor         ax, ax
300
08E1: B8 20 07                               mov         ax, 0x0720
301
08E4: B9 27 00                               mov         cx, 39
302
08E7: 89 FE                                  mov         si, di
303
08E9: 89 D7                                  mov         di, dx
304
08EB: 83 EF 02                               sub         di, 2
305
08EE: F3                                     rep
306
08EF: AB                                     stosw
307
08F0: 89 D7                                  mov         di, dx
308
08F2: B4 0F                                  mov         ah, color_sym_white
309
08F4: B9 24 00                               mov         cx, 36
310
08F7: AC                                     lodsb
311
08F8: 83 EF 02                               sub         di, 2
312
08FB: 3C 22                                  cmp         al, '"'
313
08FD: 74 04                                  jz          @f
314
08FF: 3C 27                                  cmp         al, '''
315
0901: 75 12                                  jnz         .end_sh_name_sec
316
0903: AC                                     lodsb
317
0904: AB                                     stosw
318
0905: AC                                     lodsb
319
0906: 3C 22                                  cmp         al, '"'
320
0908: 74 0B                                  jz          .end_sh_name_sec
321
090A: 3C 27                                  cmp         al, '''
322
090C: 74 07                                  jz          .end_sh_name_sec
323
090E: E2 F4                                  loop        @b
324
0910: B0 7D                                  mov         al, '}'
325
0912: B4 0E                                  mov         ah, color_sym_yellow
326
0914: AB                                     stosw
327
0915: 0E                                     push        cs
328
0916: 1F                                     pop         ds
329
0917: 5E                                     pop         si
330
0918: C3                                     ret
331
0919: 0E                                     push        cs
332
091A: 1F                                     pop         ds
333
091B: BF 1E 03                               mov         di, default_section_name
334
091E: EB BB                                  jmp         .def_sect_name
335
0920: 8B 7E F4                               mov         di, point_default
336
0923: 68 00 20                               push        ini_data_
337
0926: 07                                     pop         es
338
0927: 89 F9                                  mov         cx, di
339
0929: 89 CB                                  mov         bx, cx
340
092B: FD                                     std
341
092C: B0 0A                                  mov         al, 0xa
342
092E: F2                                     repnz
343
092F: AE                                     scasb
344
0930: E3 25                                  jcxz        .go_
345
0932: 89 7E C6                               mov         find_sec_di, di
346
0935: 89 F9                                  mov         cx, di
347
0937: 29 CB                                  sub         bx, cx
348
0939: 89 D9                                  mov         cx, bx
349
093B: FC                                     cld
350
093C: E8 34 FF                               call        get_firs_sym
351
093F: E3 0D                                  jcxz        ._not_section
352
0941: 3B 7E F6                               cmp         di, point_loader
353
0944: 74 08                                  jz          ._not_section
354
0946: 3C 5B                                  cmp         al, '['
355
0948: 75 04                                  jnz         ._not_section
356
094A: 89 7E F4                               mov         point_default, di
357
094D: C3                                     ret
358
094E: 8B 7E C6                               mov         di, find_sec_di
359
0951: 89 F9                                  mov         cx, di
360
0953: 89 CB                                  mov         bx, cx
361
0955: EB D4                                  jmp         .find_start_section
362
0957: FC                                     cld
363
0958: 89 D9                                  mov         cx, bx
364
095A: 26 8A 05                               mov         al, byte [ es : di ]
365
095D: 68 6A 09                               push        word .f_go
366
0960: 3C 20                                  cmp         al, ' '
367
0962: 74 03                                  jz          @f
368
0964: E9 2F FF                               jmp         get_firs_sym.not_space
369
0967: E9 21 FF                               jmp         get_firs_sym.first_sp
370
096A: E3 E1                                  jcxz        .exit_scan_sect
371
096C: 3B 7E F6                               cmp         di, point_loader
372
096F: 74 DC                                  jz          .exit_scan_sect
373
0971: 3C 5B                                  cmp         al, '['
374
0973: 75 D8                                  jnz         .exit_scan_sect
375
0975: 89 7E F4                               mov         point_default, di
376
0978: C3                                     ret
377
0979: 8B 7E F4                               mov         di, point_default
378
097C: 68 00 20                               push        ini_data_
379
097F: 07                                     pop         es
380
0980: 8B 4E FE                               mov         cx, save_cx
381
0983: 29 F9                                  sub         cx, di
382
0985: EB 17                                  jmp         .let_s_go
383
0987: 68 00 20                               push        ini_data_
384
098A: 07                                     pop         es
385
098B: 8B 4E FE                               mov         cx, save_cx
386
098E: 26 8A 05                               mov         al, byte [ es : di ]
387
0991: 68 A1 09                               push        word .let_s_go_ret
388
0994: 3C 20                                  cmp         al, ' '
389
0996: 74 03                                  jz          @f
390
0998: E9 FB FE                               jmp         get_firs_sym.not_space
391
099B: E9 ED FE                               jmp         get_firs_sym.first_sp
392
099E: E8 D2 FE                               call        get_firs_sym
393
09A1: E3 0C                                  jcxz        .exit_scan_sect
394
09A3: 3C 5B                                  cmp         al, '['
395
09A5: 75 F7                                  jnz         .let_s_go
396
09A7: 3B 7E F6                               cmp         di, point_loader
397
09AA: 74 F2                                  jz          .let_s_go
398
09AC: 89 7E F4                               mov         point_default, di
399
09AF: C3                                     ret
400
09B0: 8D 76 F2                               lea         si, point_to_hframe
401
09B3: BF 22 03                               mov         di, 962 - 160
402
09B6: 8B 56 F4                               mov         dx, point_default
403
09B9: B9 12 00                               mov         cx, 18
404
09BC: 8B 1C                                  mov         bx, [ si ]
405
09BE: 81 C7 A0 00                            add         di, 160
406
09C2: 39 D3                                  cmp         bx, dx
407
09C4: 74 05                                  jz          .clean_cursor_
408
09C6: 83 EE 02                               sub         si, 2
409
09C9: E2 F1                                  loop        .clean_show_cur
410
09CB: 68 00 B8                               push        0xb800
411
09CE: 07                                     pop         es
412
09CF: 50                                     push        ax
413
09D0: 89 76 CA                               mov         point_to_point_def, si
414
09D3: 31 C0                                  xor         ax, ax
415
09D5: B8 20 07                               mov         ax, 0x0720
416
09D8: AB                                     stosw
417
09D9: 83 C7 44                               add         di, 68
418
09DC: AB                                     stosw
419
09DD: 58                                     pop         ax
420
09DE: C3                                     ret
421
09DF: B4 00                                  mov         ah, 0
422
09E1: CD 1A                                  int         1Ah
423
09E3: 91                                     xchg        ax, cx
424
09E4: 66 C1 E0 10                            shl         eax, 10h
425
09E8: 92                                     xchg        ax, dx
426
09E9: C3                                     ret
427
09EA: 1E                                     push        ds
428
09EB: 0E                                     push        cs
429
09EC: 1F                                     pop         ds
430
09ED: 9C                                     pushf
431
09EE: FF 1E D4 1A                            call        far dword [ old_timer ]
432
09F2: 66 60                                  pushad
433
09F4: E8 E8 FF                               call        gettime
434
09F7: 66 2B 06 D8 1A                         sub         eax, dword [ start_timer ]
435
09FC: 8B 1E D2 1A                            mov         bx, word [ value_timeout ]
436
0A00: 6B DB 12                               imul        bx, 18
437
0A03: 29 C3                                  sub         bx, ax
438
0A05: 76 1F                                  jbe         .timergo
439
0A07: 06                                     push        es
440
0A08: 68 00 B8                               push        0xb800
441
0A0B: 07                                     pop         es
442
0A0C: 89 D8                                  mov         ax, bx
443
0A0E: BB 12 00                               mov         bx, 18
444
0A11: 31 D2                                  xor         dx, dx
445
0A13: F7 F3                                  div         bx
446
0A15: BB 0A 00                               mov         bx, 10
447
0A18: BF 96 0E                               mov         di, 3734
448
0A1B: E8 24 00                               call        .decode
449
0A1E: 31 C0                                  xor         ax, ax
450
0A20: AB                                     stosw
451
0A21: 07                                     pop         es
452
0A22: 66 61                                  popad
453
0A24: 1F                                     pop         ds
454
0A25: CF                                     iret
455
0A26: 6A 00                                  push        0
456
0A28: 07                                     pop         es
457
0A29: 66 A1 D4 1A                            mov         eax, dword [ old_timer ]
458
0A2D: 26 66 A3 20 00                         mov         [ es : 8 * 4 ], eax
459
0A32: 66 A3 DC 1A                            mov         dword [ timer_ ], eax
460
0A36: 8B 26 E0 1A                            mov         sp, word [ start_stack ]
461
0A3A: 8B 2E E2 1A                            mov         bp, word [ save_bp_from_timer ]
462
0A3E: FB                                     sti
463
0A3F: E9 D8 06                               jmp         parse_start.parse_run_only
464
0A42: 39 D8                                  cmp         ax, bx
465
0A44: 72 09                                  jb          @f
466
0A46: 31 D2                                  xor         dx, dx
467
0A48: F7 F3                                  div         bx
468
0A4A: 52                                     push        dx
469
0A4B: E8 F4 FF                               call        .decode
470
0A4E: 58                                     pop         ax
471
0A4F: 0C 30                                  or          al, 0x30
472
0A51: 50                                     push        ax
473
0A52: B4 09                                  mov         ah, 9
474
0A54: AB                                     stosw
475
0A55: 58                                     pop         ax
476
0A56: C3                                     ret
477
0A57: 8B 5E C8                               mov         bx, point_to_eframe
478
0A5A: 8D 76 F2                               lea         si, point_to_hframe
479
0A5D: BA C6 03                               mov         dx, 966
480
0A60: 39 DE                                  cmp         si, bx
481
0A62: 72 12                                  jb          ._show_space_fb
482
0A64: 8B 3C                                  mov         di, [ si ]
483
0A66: 83 EE 02                               sub         si, 2
484
0A69: 8B 0C                                  mov         cx, [ si ]
485
0A6B: 29 F9                                  sub         cx, di
486
0A6D: E8 2B FE                               call        show_name_section
487
0A70: 81 C2 A0 00                            add         dx, 160
488
0A74: EB EA                                  jmp         .home_show_fb
489
0A76: 83 EA 04                               sub         dx, 4
490
0A79: 68 00 B8                               push        0xb800
491
0A7C: 07                                     pop         es
492
0A7D: 81 FA 64 0E                            cmp         dx, 0xE64
493
0A81: 77 12                                  ja          .exit_show_fb
494
0A83: 89 D7                                  mov         di, dx
495
0A85: 31 C0                                  xor         ax, ax
496
0A87: B8 20 07                               mov         ax, 0x0720
497
0A8A: B9 27 00                               mov         cx, 39
498
0A8D: F3                                     rep
499
0A8E: AB                                     stosw
500
0A8F: 81 C2 A0 00                            add         dx, 160
501
0A93: EB E8                                  jmp         @b
502
0A95: C3                                     ret
503
0A96: 89 C7                                  mov         di, ax
504
0A98: 89 D9                                  mov         cx, bx
505
0A9A: FF 66 FC                               jmp         ret_on_ch
506
0A9D: C9                                     leave
507
0A9E: BE 1A 01                               mov         si, not_found_def_sect
508
0AA1: E9 F4 00                               jmp         err_show_ini
509
0AA4: C9                                     leave
510
0AA5: BE FE 00                               mov         si, not_found_sec_loader
511
0AA8: E9 ED 00                               jmp         err_show_ini
512
0AAB: C9                                     leave
513
0AAC: BE 47 01                               mov         si, default_eq_loader
514
0AAF: E9 E6 00                               jmp         err_show_ini
515
0AB2: C9                                     leave
516
0AB3: BE C4 02                               mov         si, point_to_default_sec_not_found
517
0AB6: E9 DF 00                               jmp         err_show_ini
518
0AB9: C9                                     leave
519
0ABA: BE F7 02                               mov         si, incorect_section_define
520
0ABD: E9 D8 00                               jmp         err_show_ini
521
0AC0: 68 00 B8                               push        word 0xb800
522
0AC3: 07                                     pop         es
523
0AC4: C3                                     ret
524
0AC5: 00 00 00 20                            file_data dw 0x0, ini_data_
525
0AC9: 10 00                                  size_data dw 16
526
0ACB: 6B 6F 72 64 2F 73 74 61 72 74 6F 73 2E name_ini_f db 'kord/startos.ini', 0
527
0AD8: 69 6E 69 00
528
0ADC: 00 00 00 00                            loader_callback dd ?
529
0AE0: 00 00                                  load_drive dw ?
530
0AE2: 00 00                                  load_ft dw ?
531
0AE4: 2E 89 36 DC 0A                         mov         word [ cs : loader_callback ], si
532
0AE9: 2E 8C 1E DE 0A                         mov         word [ cs : loader_callback + 2 ], ds
533
0AEE: 2E A3 E0 0A                            mov         word [ cs : load_drive ], ax
534
0AF2: 2E 89 1E E2 0A                         mov         word [ cs : load_ft ], bx
535
0AF7: 8C C8                                  mov         ax, cs
536
0AF9: 8E D0                                  mov         ss, ax
537
0AFB: 31 E4                                  xor         sp, sp
538
0AFD: 8E D8                                  mov         ds, ax
539
0AFF: 8E C0                                  mov         es, ax
540
0B01: FC                                     cld
541
0B02: FB                                     sti
542
0B03: B8 03 00                               mov         ax, 3
543
0B06: CD 10                                  int         0x10
544
0B08: BE 03 00                               mov         si, version
545
0B0B: E8 36 FD                               call        printplain
546
0B0E: B0 23                                  mov         al, '#'
547
0B10: B9 50 00                               mov         cx, 80
548
0B13: E8 27 FD                               call        putchar
549
0B16: E2 FB                                  loop        @b
550
0B18: BE C8 03                               mov         si, stack_msg
551
0B1B: E8 26 FD                               call        printplain
552
0B1E: 31 DB                                  xor         bx, bx
553
0B20: 8E DB                                  mov         ds, bx
554
0B22: FF 77 1A                               push        word [ bx + 6 * 4 + 2 ]
555
0B25: FF 77 18                               push        word [ bx + 6 * 4 ]
556
0B28: C7 47 18 4A 0B                         mov         word [ bx + 6 * 4 ], ud16
557
0B2D: 8C 4F 1A                               mov         word [ bx + 6 * 4 + 2 ], cs
558
0B30: 66 31 C0                               xor         eax, eax
559
0B33: 0F A2                                  cpuid
560
0B35: 66 85 C0                               test        eax, eax
561
0B38: 74 10                                  jz          cpubad
562
0B3A: 66 31 C0                               xor         eax, eax
563
0B3D: 40                                     inc         ax
564
0B3E: 0F A2                                  cpuid
565
0B40: F6 C2 10                               test        dl, 10h
566
0B43: 74 05                                  jz          cpubad
567
0B45: F6 C2 20                               test        dl, 20h
568
0B48: 75 12                                  jnz         cpugood
569
0B4A: 8F 06 18 00                            pop         word [ 6 * 4 ]
570
0B4E: 8F 06 1A 00                            pop         word [ 6 * 4 + 2 ]
571
0B52: 0E                                     push        cs
572
0B53: 1F                                     pop         ds
573
0B54: BE 4C 00                               mov         si, badprocessor
574
0B57: E8 EA FC                               call        printplain
575
0B5A: EB FE                                  jmp         $
576
0B5C: 66 8F 06 18 00                         pop         dword [ 6 * 4 ]
577
0B61: 0E                                     push        cs
578
0B62: 1F                                     pop         ds
579
0B63: 66 0F B7 E4                            movzx       esp, sp
580
0B67: B9 03 00                               mov         cx, loop_read_startos_file
581
0B6C: 31 C0                                  xor         ax, ax
582
0B6E: BF C5 0A                               mov         di, file_data
583
0B71: 40                                     inc         ax
584
0B72: 51                                     push        cx
585
0B73: FF 1E DC 0A                            call        far dword [ loader_callback ]
586
0B77: 59                                     pop         cx
587
0B78: 0E                                     push        cs
588
0B79: 0E                                     push        cs
589
0B7A: 1F                                     pop         ds
590
0B7B: 07                                     pop         es
591
0B7C: 85 DB                                  test        bx, bx
592
0B7E: 74 28                                  jz          check_conf_file
593
0B80: 49                                     dec         cx
594
0B81: 75 E9                                  jnz         load_startos_file
595
0B83: BE 68 00                               mov         si, error_ini_f1
596
0B86: 4B                                     dec         bx
597
0B87: 74 0F                                  jz          err_show_ini
598
0B89: BE 95 00                               mov         si, error_ini_f2
599
0B8C: 4B                                     dec         bx
600
0B8D: 74 09                                  jz          err_show_ini
601
0B8F: BE B0 00                               mov         si, error_ini_f3
602
0B92: 4B                                     dec         bx
603
0B93: 74 03                                  jz          err_show_ini
604
0B95: BE CD 00                               mov         si, error_ini_nf
605
0B98: E8 A9 FC                               call        printplain
606
0B9B: BE 26 02                               mov         si, error_ini_common
607
0B9E: E8 A3 FC                               call        printplain
608
0BA1: 31 C0                                  xor         ax, ax
609
0BA3: CD 16                                  int         16h
610
0BA5: EB FE                                  jmp         $
611
0BA8: 50                                     push        ax
612
0BA9: B9 0A 00                               mov         cx, 0x0a
613
0BAC: BF 00 04                               mov         di, show_decode
614
0BAF: E8 73 FC                               call        decode
615
0BB2: BE EF 03                               mov         si, show_string
616
0BB5: E8 8C FC                               call        printplain
617
0BB8: BE 90 02                               mov         si, load_ini
618
0BBB: E8 86 FC                               call        printplain
619
0BBE: 59                                     pop         cx
620
0BBF: C8 00 01 00                            enter       256, 0
621
0BC3: 89 2E E2 1A                            mov         word [ save_bp_from_timer ], bp
622
0BC7: 89 4E FE                               mov         save_cx, cx
623
0BCA: C4 3E C5 0A                            les         di, dword [ file_data ]
624
0BCE: 31 C0                                  xor         ax, ax
625
0BD0: 89 46 F8                               mov         status_flag, ax
626
0BD3: C7 46 C4 00 30                         mov         info_real_mode_size, ini_data_ + 0x1000
627
0BD8: FC                                     cld
628
0BD9: C7 46 FC EE 0B                         mov         ret_on_ch, .start
629
0BDE: 26 8A 05                               mov         al, byte [ es : di ]
630
0BE1: 68 F1 0B                               push        word .first_ret
631
0BE4: 3C 20                                  cmp         al, ' '
632
0BE6: 74 03                                  jz          .first_sp_1
633
0BE8: E9 AB FC                               jmp         get_firs_sym.not_space
634
0BEB: E9 9D FC                               jmp         get_firs_sym.first_sp
635
0BEE: E8 82 FC                               call        get_firs_sym
636
0BF1: 85 C9                                  test        cx, cx
637
0BF3: 0F 84 AD FE                            jz          error.not_loader
638
0BF7: 3C 5B                                  cmp         al, '['
639
0BF9: 74 02                                  jz          .parse_loader
640
0BFB: EB F1                                  jmp         .start
641
0BFD: 89 CB                                  mov         bx, cx
642
0BFF: 89 F8                                  mov         ax, di
643
0C01: BE AC 07                               mov         si, parse_loader
644
0C04: B9 08 00                               mov         cx, parse_loader_e - parse_loader
645
0C07: F3                                     repe
646
0C08: A6                                     cmpsb
647
0C09: 0F 85 89 FE                            jnz         error.rest_value
648
0C0D: 89 46 F6                               mov         point_loader, ax
649
0C10: 83 EB 08                               sub         bx, parse_loader_e - parse_loader
650
0C13: 01 CB                                  add         bx, cx
651
0C15: 89 D9                                  mov         cx, bx
652
0C17: 60                                     pusha
653
0C18: BE 35 04                               mov         si, lm_l_found
654
0C1B: E8 26 FC                               call        printplain
655
0C1E: 61                                     popa
656
0C1F: 89 FA                                  mov         dx, di
657
0C21: E8 4F FC                               call        get_firs_sym
658
0C24: E3 04                                  jcxz        .loader_f_end
659
0C26: 3C 5B                                  cmp         al, '['
660
0C28: 75 F7                                  jnz         @b
661
0C2A: 29 CB                                  sub         bx, cx
662
0C2C: 89 D7                                  mov         di, dx
663
0C2E: 89 D9                                  mov         cx, bx
664
0C30: C7 46 FC 35 0C                         mov         ret_on_ch, .get_next_str
665
0C35: E8 3B FC                               call        get_firs_sym
666
0C38: 85 C9                                  test        cx, cx
667
0C3A: 0F 84 57 01                            jz          .end_loader
668
0C3E: 3C 74                                  cmp         al, 't'
669
0C40: 0F 84 DE 00                            jz          .loader_timeout
670
0C44: 3C 64                                  cmp         al, 'd'
671
0C46: 75 ED                                  jnz         .get_next_str
672
0C48: 89 CB                                  mov         bx, cx
673
0C4A: 89 F8                                  mov         ax, di
674
0C4C: BE BB 07                               mov         si, parse_l_default
675
0C4F: B9 07 00                               mov         cx, parse_l_default_e - parse_l_default
676
0C52: F3                                     repe
677
0C53: A6                                     cmpsb
678
0C54: 0F 85 3E FE                            jnz         error.rest_value
679
0C58: 83 EB 07                               sub         bx, parse_l_default_e - parse_l_default
680
0C5B: 01 CB                                  add         bx, cx
681
0C5D: 89 D9                                  mov         cx, bx
682
0C5F: F7 46 F8 01 00                         test        status_flag, flag_found_default
683
0C64: 74 08                                  jz          .correct_is_not_set
684
0C66: BE 7A 01                               mov         si, found_equal_default
685
0C69: E8 D8 FB                               call        printplain
686
0C6C: EB C7                                  jmp         .get_next_str
687
0C6E: B8 20 3D                               mov         ax, 0x3d20
688
0C71: F3                                     repe
689
0C72: AE                                     scasb
690
0C73: 85 C9                                  test        cx, cx
691
0C75: 0F 84 1C 01                            jz          .end_loader
692
0C79: 26 3A 65 FF                            cmp         ah, byte [ es : di - 1 ]
693
0C7D: 75 B6                                  jnz         .get_next_str
694
0C7F: F3                                     repe
695
0C80: AE                                     scasb
696
0C81: 41                                     inc         cx
697
0C82: 4F                                     dec         di
698
0C83: 89 CB                                  mov         bx, cx
699
0C85: 89 FA                                  mov         dx, di
700
0C87: 26 8A 05                               mov         al, byte [ es : di ]
701
0C8A: 47                                     inc         di
702
0C8B: 49                                     dec         cx
703
0C8C: 85 C9                                  test        cx, cx
704
0C8E: 0F 84 0B FE                            jz          error.error_get_size_d_sect
705
0C92: 3C 20                                  cmp         al, ' '
706
0C94: 74 F1                                  jz          @b
707
0C96: 3C 0D                                  cmp         al, 0xd
708
0C98: 74 04                                  jz          .found_size_d_sect
709
0C9A: 3C 0A                                  cmp         al, 0xa
710
0C9C: 75 E9                                  jnz         @b
711
0C9E: 41                                     inc         cx
712
0C9F: 89 D8                                  mov         ax, bx
713
0CA1: 29 CB                                  sub         bx, cx
714
0CA3: 89 5E FA                               mov         save_cx_d, bx
715
0CA6: 89 D7                                  mov         di, dx
716
0CA8: 89 D9                                  mov         cx, bx
717
0CAA: 89 C3                                  mov         bx, ax
718
0CAC: 89 D0                                  mov         ax, dx
719
0CAE: BE AC 07                               mov         si, parse_loader
720
0CB1: 46                                     inc         si
721
0CB2: F3                                     repe
722
0CB3: A6                                     cmpsb
723
0CB4: 75 03                                  jnz         .check_section
724
0CB6: E9 F2 FD                               jmp         error.default_eq_loader
725
0CB9: 89 D9                                  mov         cx, bx
726
0CBB: 89 C7                                  mov         di, ax
727
0CBD: 89 FE                                  mov         si, di
728
0CBF: 57                                     push        di
729
0CC0: 51                                     push        cx
730
0CC1: 8B 4E FE                               mov         cx, save_cx
731
0CC4: C4 3E C5 0A                            les         di, dword [ file_data ]
732
0CC8: 26 8A 05                               mov         al, byte [ es : di ]
733
0CCB: 68 DB 0C                               push        word .first_ret_d
734
0CCE: 3C 20                                  cmp         al, ' '
735
0CD0: 74 03                                  jz          .first_sp_1_d
736
0CD2: E9 C1 FB                               jmp         get_firs_sym.not_space
737
0CD5: E9 B3 FB                               jmp         get_firs_sym.first_sp
738
0CD8: E8 98 FB                               call        get_firs_sym
739
0CDB: E3 38                                  jcxz        .correct_exit
740
0CDD: 3C 5B                                  cmp         al, '['
741
0CDF: 74 02                                  jz          .found_sect_d
742
0CE1: EB F5                                  jmp         .start_d
743
0CE3: 89 CB                                  mov         bx, cx
744
0CE5: 89 F8                                  mov         ax, di
745
0CE7: 56                                     push        si
746
0CE8: 8B 4E FA                               mov         cx, save_cx_d
747
0CEB: 06                                     push        es
748
0CEC: 1F                                     pop         ds
749
0CED: 47                                     inc         di
750
0CEE: F3                                     repe
751
0CEF: A6                                     cmpsb
752
0CF0: 0E                                     push        cs
753
0CF1: 1F                                     pop         ds
754
0CF2: 5E                                     pop         si
755
0CF3: 75 1A                                  jnz         .not_compare_d_s
756
0CF5: 26 80 3D 5D                            cmp         byte [ es : di ], ']'
757
0CF9: 75 14                                  jnz         .not_compare_d_s
758
0CFB: 83 4E F8 01                            or          status_flag, flag_found_default
759
0CFF: 59                                     pop         cx
760
0D00: 5F                                     pop         di
761
0D01: 89 46 F4                               mov         point_default, ax
762
0D04: 60                                     pusha
763
0D05: BE 96 04                               mov         si, lm_lf_default_f
764
0D08: E8 39 FB                               call        printplain
765
0D0B: 61                                     popa
766
0D0C: E9 26 FF                               jmp         .get_next_str
767
0D0F: 89 D9                                  mov         cx, bx
768
0D11: 89 C7                                  mov         di, ax
769
0D13: EB C3                                  jmp         .start_d
770
0D15: 59                                     pop         cx
771
0D16: 5F                                     pop         di
772
0D17: 60                                     pusha
773
0D18: BE 58 04                               mov         si, lm_lf_default
774
0D1B: E8 26 FB                               call        printplain
775
0D1E: 61                                     popa
776
0D1F: E9 13 FF                               jmp         .get_next_str
777
0D22: 89 CB                                  mov         bx, cx
778
0D24: 89 F8                                  mov         ax, di
779
0D26: BE B4 07                               mov         si, parse_l_timeout
780
0D29: B9 07 00                               mov         cx, parse_l_timeout_e - parse_l_timeout
781
0D2C: F3                                     repe
782
0D2D: A6                                     cmpsb
783
0D2E: 0F 85 64 FD                            jnz         error.rest_value
784
0D32: 83 EB 07                               sub         bx, parse_l_timeout_e - parse_l_timeout
785
0D35: 01 CB                                  add         bx, cx
786
0D37: 89 D9                                  mov         cx, bx
787
0D39: F7 46 F8 02 00                         test        status_flag, flag_found_timeout
788
0D3E: 74 09                                  jz          .correct_is_not_set_t
789
0D40: BE B0 01                               mov         si, found_equal_timeout
790
0D43: E8 FE FA                               call        printplain
791
0D46: E9 EC FE                               jmp         .get_next_str
792
0D49: B8 20 3D                               mov         ax, 0x3d20
793
0D4C: F3                                     repe
794
0D4D: AE                                     scasb
795
0D4E: E3 35                                  jcxz        .timeout_sec_end_d
796
0D50: 26 3A 65 FF                            cmp         ah, byte [ es : di - 1 ]
797
0D54: 0F 85 DD FE                            jnz         .get_next_str
798
0D58: F3                                     repe
799
0D59: AE                                     scasb
800
0D5A: 41                                     inc         cx
801
0D5B: 4F                                     dec         di
802
0D5C: 51                                     push        cx
803
0D5D: 31 DB                                  xor         bx, bx
804
0D5F: B9 02 00                               mov         cx, 2
805
0D62: 26 8A 05                               mov         al, byte [ es : di ]
806
0D65: 3C 30                                  cmp         al, '0'
807
0D67: 72 0B                                  jb          .end_get_val_t
808
0D69: 3C 39                                  cmp         al, '9'
809
0D6B: 77 07                                  ja          .end_get_val_t
810
0D6D: 6B DB 0A                               imul        bx, 10
811
0D70: 34 30                                  xor         al, 0x30
812
0D72: 00 C3                                  add         bl, al
813
0D74: 47                                     inc         di
814
0D75: E2 EB                                  loop        @b
815
0D77: 89 1E D2 1A                            mov         word [ value_timeout ], bx
816
0D7B: 60                                     pusha
817
0D7C: BE 47 04                               mov         si, lm_lf_timeout
818
0D7F: E8 C2 FA                               call        printplain
819
0D82: 61                                     popa
820
0D83: EB 0C                                  jmp         @f
821
0D85: C7 06 D2 1A 05 00                      mov         word [ value_timeout ], default_timeout_value
822
0D8B: BE E6 01                               mov         si, set_default_timeout_val
823
0D8E: E8 B3 FA                               call        printplain
824
0D91: 59                                     pop         cx
825
0D92: E9 A0 FE                               jmp         .get_next_str
826
0D95: 60                                     pusha
827
0D96: BE AD 04                               mov         si, lm_l_end
828
0D99: E8 A8 FA                               call        printplain
829
0D9C: 61                                     popa
830
0D9D: 31 C0                                  xor         ax, ax
831
0D9F: CD 16                                  int         16h
832
0DA1: 60                                     pusha
833
0DA2: A1 D2 1A                               mov         ax, word [ value_timeout ]
834
0DA5: B9 0A 00                               mov         cx, 0x0a
835
0DA8: BF 07 04                               mov         di, show_db1
836
0DAB: 66 C7 05 20 20 20 20                   mov         dword [ ds : di ], '    '
837
0DB2: C7 45 04 20 20                         mov         word [ ds : di + 4 ], '  '
838
0DB7: E8 6B FA                               call        decode
839
0DBA: BE 07 04                               mov         si, show_db1
840
0DBD: E8 84 FA                               call        printplain
841
0DC0: 61                                     popa
842
0DC1: 85 C0                                  test        ax, ax
843
0DC3: 0F 84 53 03                            jz          .parse_run_only
844
0DC7: 60                                     pusha
845
0DC8: BE C5 04                               mov         si, show_all_sect
846
0DCB: E8 76 FA                               call        printplain
847
0DCE: 61                                     popa
848
0DCF: B0 F6                                  mov         al, 0xf6
849
0DD1: E6 60                                  out         0x60, al
850
0DD3: 31 C9                                  xor         cx, cx
851
0DD5: E4 64                                  in          al, 64h
852
0DD7: 24 02                                  and         al, 00000010b
853
0DD9: E0 FA                                  loopnz      .wait_loop
854
0DDB: B0 F3                                  mov         al, 0xf3
855
0DDD: E6 60                                  out         0x60, al
856
0DDF: 31 C9                                  xor         cx, cx
857
0DE1: E4 64                                  in          al, 64h
858
0DE3: A8 02                                  test        al, 2
859
0DE5: E0 FA                                  loopnz      @b
860
0DE7: B0 00                                  mov         al, 0
861
0DE9: E6 60                                  out         0x60, al
862
0DEB: 31 C9                                  xor         cx, cx
863
0DED: E4 64                                  in          al, 64h
864
0DEF: A8 02                                  test        al, 2
865
0DF1: E0 FA                                  loopnz      @b
866
0DF3: E8 E9 FB                               call        gettime
867
0DF6: 66 A3 D8 1A                            mov         dword [ start_timer ], eax
868
0DFA: C7 06 DC 1A EA 09                      mov         word [ timer_ ], newtimer
869
0E00: 8C 0E DE 1A                            mov         word [ timer_ + 2 ], cs
870
0E04: FA                                     cli
871
0E05: 6A 00                                  push        0
872
0E07: 07                                     pop         es
873
0E08: 26 66 FF 36 20 00                      push        dword [ es : 8 * 4 ]
874
0E0E: 66 8F 06 D4 1A                         pop         dword [ old_timer ]
875
0E13: 66 FF 36 DC 1A                         push        dword [ timer_ ]
876
0E18: 26 66 8F 06 20 00                      pop         dword [ es : 8 * 4 ]
877
0E1E: FB                                     sti
878
0E1F: C7 46 BE 12 00                         mov         save_descript_size, 18
879
0E24: 31 C0                                  xor         ax, ax
880
0E26: B8 20 07                               mov         ax, 0x0720
881
0E29: 68 00 B8                               push        0xb800
882
0E2C: 07                                     pop         es
883
0E2D: 31 FF                                  xor         di, di
884
0E2F: B9 D0 07                               mov         cx, 25 * 80
885
0E32: F3                                     rep
886
0E33: AB                                     stosw
887
0E34: BF A4 00                               mov         di, 164
888
0E37: BE 03 00                               mov         si, version
889
0E3A: B9 19 00                               mov         cx, version_end - version
890
0E3D: B4 0E                                  mov         ah, color_sym_yellow
891
0E3F: AC                                     lodsb
892
0E40: AB                                     stosw
893
0E41: E2 FC                                  loop        @b
894
0E43: BF 1E 01                               mov         di, 286
895
0E46: B4 0C                                  mov         ah, color_sym_pink
896
0E48: B0 4B                                  mov         al, 'K'
897
0E4A: AB                                     stosw
898
0E4B: B0 20                                  mov         al, ' '
899
0E4D: AB                                     stosw
900
0E4E: B4 07                                  mov         ah, color_sym_lightgray
901
0E50: BE 3F 00                               mov         si, soft_mes
902
0E53: B9 0D 00                               mov         cx, soft_mes_end - soft_mes
903
0E56: AC                                     lodsb
904
0E57: AB                                     stosw
905
0E58: E2 FC                                  loop        @b
906
0E5A: BF E0 01                               mov         di, 480
907
0E5D: B4 0E                                  mov         ah, color_sym_yellow
3544 clevermous 908
0E5F: B0 C4                                  mov         al, 0xC4
1156 Lrz 909
0E61: B9 3D 00                               mov         cx, 61
910
0E64: F3                                     rep
911
0E65: AB                                     stosw
912
0E66: BF 24 03                               mov         di, 804
913
0E69: BE 1C 00                               mov         si, select_section
914
0E6C: B9 0F 00                               mov         cx, select_section_end - select_section
915
0E6F: B4 07                                  mov         ah, color_sym_lightgray
916
0E71: AC                                     lodsb
917
0E72: AB                                     stosw
918
0E73: E2 FC                                  loop        @b
919
0E75: BF 70 03                               mov         di, 880
920
0E78: BE 2B 00                               mov         si, section_description
921
0E7B: B9 14 00                               mov         cx, section_description_end - section_description
922
0E7E: AC                                     lodsb
923
0E7F: AB                                     stosw
924
0E80: E2 FC                                  loop        @b
925
0E82: 8B 4E FE                               mov         cx, save_cx
926
0E85: C4 3E C5 0A                            les         di, dword [ file_data ]
927
0E89: 89 FE                                  mov         si, di
928
0E8B: 89 CB                                  mov         bx, cx
929
0E8D: BA 12 00                               mov         dx, size_show_section
930
0E90: 26 8A 05                               mov         al, byte [ es : di ]
931
0E93: 68 B9 0E                               push        word .first_ret_bl_sc
932
0E96: 3C 20                                  cmp         al, ' '
933
0E98: 74 03                                  jz          .first_bl_sc
934
0E9A: E9 F9 F9                               jmp         get_firs_sym.not_space
935
0E9D: E9 EB F9                               jmp         get_firs_sym.first_sp
936
0EA0: E8 D0 F9                               call        get_firs_sym
937
0EA3: 85 C9                                  test        cx, cx
938
0EA5: 0F 84 09 FC                            jz          error.correct_exit_bl
939
0EA9: 3C 5B                                  cmp         al, '['
940
0EAB: 75 F3                                  jnz         .start_hbl
941
0EAD: 89 FE                                  mov         si, di
942
0EAF: 89 CB                                  mov         bx, cx
943
0EB1: BA 12 00                               mov         dx, size_show_section
944
0EB4: EB 09                                  jmp         .analisist_al
945
0EB6: E8 BA F9                               call        get_firs_sym
946
0EB9: 85 C9                                  test        cx, cx
947
0EBB: 0F 84 F3 FB                            jz          error.correct_exit_bl
948
0EBF: 3C 5B                                  cmp         al, '['
949
0EC1: 75 F3                                  jnz         .start_bl
950
0EC3: 3B 7E F6                               cmp         di, point_loader
951
0EC6: 74 EE                                  jz          .start_bl
952
0EC8: 3B 7E F4                               cmp         di, point_default
953
0ECB: 74 05                                  jz          .save_point_def
954
0ECD: 4A                                     dec         dx
955
0ECE: 75 E6                                  jnz         .start_bl
956
0ED0: EB CE                                  jmp         .start_hbl
957
0ED2: 89 F7                                  mov         di, si
958
0ED4: 89 D9                                  mov         cx, bx
959
0ED6: 8D 76 F2                               lea         si, point_to_hframe
960
0ED9: BA 13 00                               mov         dx, size_show_section + 1
961
0EDC: 26 8A 05                               mov         al, byte [ es : di ]
962
0EDF: 68 EF 0E                               push        word .first_ret_mfb
963
0EE2: 3C 20                                  cmp         al, ' '
964
0EE4: 74 03                                  jz          .first_bl_mbf
965
0EE6: E9 AD F9                               jmp         get_firs_sym.not_space
966
0EE9: E9 9F F9                               jmp         get_firs_sym.first_sp
967
0EEC: E8 84 F9                               call        get_firs_sym
968
0EEF: E3 13                                  jcxz        .val_buff_comp
969
0EF1: 3C 5B                                  cmp         al, '['
970
0EF3: 75 F7                                  jnz         .start_mfb
971
0EF5: 3B 7E F6                               cmp         di, point_loader
972
0EF8: 74 F2                                  jz          .start_mfb
973
0EFA: 89 3C                                  mov         [ si ], di
974
0EFC: 83 EE 02                               sub         si, 2
975
0EFF: 4A                                     dec         dx
976
0F00: 75 EA                                  jnz         .start_mfb
977
0F02: EB 08                                  jmp         @f
978
0F04: FF 76 FE                               push        save_cx
979
0F07: 8F 04                                  pop         word [ si ]
980
0F09: 83 EE 02                               sub         si, 2
981
0F0C: 83 C6 04                               add         si, 4
982
0F0F: 89 76 C8                               mov         point_to_eframe, si
983
0F12: E8 42 FB                               call        show_bl_sc_sect
984
0F15: 8D 76 F2                               lea         si, point_to_hframe
985
0F18: BF 22 03                               mov         di, 962 - 160
986
0F1B: 8B 46 F4                               mov         ax, point_default
987
0F1E: B9 12 00                               mov         cx, size_show_section
988
0F21: 8B 1C                                  mov         bx, [ si ]
989
0F23: 81 C7 A0 00                            add         di, 160
990
0F27: 39 C3                                  cmp         bx, ax
991
0F29: 74 05                                  jz          .show_cursor_activ
992
0F2B: 83 EE 02                               sub         si, 2
993
0F2E: E2 F1                                  loop        .home_show_cur
994
0F30: 89 76 CA                               mov         point_to_point_def, si
995
0F33: B8 10 04                               mov         ax, ( color_sym_red * 0x100 + 0x10 )
996
0F36: AB                                     stosw
997
0F37: 83 C7 44                               add         di, 68
998
0F3A: 40                                     inc         ax
999
0F3B: AB                                     stosw
1000
0F3C: 8B 7E F4                               mov         di, point_default
1001
0F3F: 68 00 20                               push        ini_data_
1002
0F42: 8B 76 CA                               mov         si, point_to_point_def
1003
0F45: 07                                     pop         es
1004
0F46: 83 EE 02                               sub         si, 2
1005
0F49: 8B 0C                                  mov         cx, [ si ]
1006
0F4B: 29 F9                                  sub         cx, di
1007
0F4D: E8 23 F9                               call        get_firs_sym
1008
0F50: 85 C9                                  test        cx, cx
1009
0F52: 0F 84 91 00                            jz          .exit?0Pz
1010
0F56: 3C 64                                  cmp         al, 'd'
1011
0F58: 75 F3                                  jnz         .start_p_sh_d?0Py
1012
0F5A: 89 CB                                  mov         bx, cx
1013
0F5C: 89 F8                                  mov         ax, di
1014
0F5E: BE C5 07                               mov         si, parse_descript
1015
0F61: B9 08 00                               mov         cx, parse_descript_e - parse_descript
1016
0F64: F3                                     repe
1017
0F65: A6                                     cmpsb
1018
0F66: 75 78                                  jnz         .rest_value_loop_sh_d?0Q0
1019
0F68: 83 EB 08                               sub         bx, parse_descript_e - parse_descript
1020
0F6B: 01 CB                                  add         bx, cx
1021
0F6D: 89 D9                                  mov         cx, bx
1022
0F6F: B8 20 3D                               mov         ax, 0x3d20
1023
0F72: F3                                     repe
1024
0F73: AE                                     scasb
1025
0F74: E3 6A                                  jcxz        .rest_value_loop_sh_d?0Q0
1026
0F76: 26 3A 65 FF                            cmp         ah, byte [ es : di - 1 ]
1027
0F7A: 75 64                                  jnz         .rest_value_loop_sh_d?0Q0
1028
0F7C: F3                                     repe
1029
0F7D: AE                                     scasb
1030
0F7E: 41                                     inc         cx
1031
0F7F: 4F                                     dec         di
1032
0F80: 57                                     push        di
1033
0F81: 5E                                     pop         si
1034
0F82: 06                                     push        es
1035
0F83: 1F                                     pop         ds
1036
0F84: 68 00 B8                               push        0xb800
1037
0F87: 07                                     pop         es
1038
0F88: BF 10 04                               mov         di, 1040
1039
0F8B: BB 12 00                               mov         bx, 18
1040
0F8E: 89 7E C6                               mov         find_sec_di, di
1041
0F91: 89 5E FA                               mov         save_cx_d, bx
1042
0F94: 57                                     push        di
1043
0F95: 31 C0                                  xor         ax, ax
1044
0F97: B9 26 00                               mov         cx, 38
1045
0F9A: 57                                     push        di
1046
0F9B: F3                                     rep
1047
0F9C: AB                                     stosw
1048
0F9D: 5F                                     pop         di
1049
0F9E: 39 5E BE                               cmp         save_descript_size, bx
1050
0FA1: 74 07                                  jz          @f
1051
0FA3: 81 C7 A0 00                            add         di, 160
1052
0FA7: 4B                                     dec         bx
1053
0FA8: 75 ED                                  jnz         @b
1054
0FAA: 5F                                     pop         di
1055
0FAB: AC                                     lodsb
1056
0FAC: B4 0A                                  mov         ah, color_sym_lettuce
1057
0FAE: 3C 22                                  cmp         al, '"'
1058
0FB0: 74 04                                  jz          .loop_message?0Q2
1059
0FB2: 3C 27                                  cmp         al, '''
1060
0FB4: 75 20                                  jnz         .end_sh_desc_sec?0Q1
1061
0FB6: B9 26 00                               mov         cx, 38
1062
0FB9: AC                                     lodsb
1063
0FBA: 3C 22                                  cmp         al, '"'
1064
0FBC: 74 18                                  jz          .end_sh_desc_sec?0Q1
1065
0FBE: 3C 27                                  cmp         al, '''
1066
0FC0: 74 14                                  jz          .end_sh_desc_sec?0Q1
1067
0FC2: AB                                     stosw
1068
0FC3: E2 F4                                  loop        @b
1069
0FC5: 81 46 C6 A0 00                         add         find_sec_di, 160
1070
0FCA: 8B 7E C6                               mov         di, find_sec_di
1071
0FCD: FF 4E FA                               dec         save_cx_d
1072
0FD0: 83 7E FA 00                            cmp         save_cx_d, 0
1073
0FD4: 75 E0                                  jnz         .loop_message?0Q2
1074
0FD6: FF 76 FA                               push        save_cx_d
1075
0FD9: 8F 46 BE                               pop         save_descript_size
1076
0FDC: 0E                                     push        cs
1077
0FDD: 1F                                     pop         ds
1078
0FDE: EB 07                                  jmp         .exit?0Pz
1079
0FE0: 89 C7                                  mov         di, ax
1080
0FE2: 89 D9                                  mov         cx, bx
1081
0FE4: E9 66 FF                               jmp         .start_p_sh_d?0Py
1082
0FE7: 66 A1 D4 1A                            mov         eax, dword [ old_timer ]
1083
0FEB: 66 3B 06 DC 1A                         cmp         eax, dword [ timer_ ]
1084
0FF0: 74 5E                                  jz          .interrupt_16
1085
0FF2: 31 C0                                  xor         ax, ax
1086
0FF4: BF 20 0D                               mov         di, 3360
1087
0FF7: B9 40 01                               mov         cx, 80 * 4
1088
0FFA: F3                                     rep
1089
0FFB: AB                                     stosw
1090
0FFC: BF 22 0D                               mov         di, 3362
1091
0FFF: B4 0C                                  mov         ah, color_sym_pink
1092
1001: B0 DA                                  mov         al, 0xDA
1093
1003: AB                                     stosw
1094
1004: B0 C4                                  mov         al, 0xc4
1095
1006: B9 4C 00                               mov         cx, 76
1096
1009: F3                                     rep
1097
100A: AB                                     stosw
1098
100B: B0 BF                                  mov         al, 0xBF
1099
100D: AB                                     stosw
1100
100E: 83 C7 04                               add         di, 4
1101
1011: B0 B3                                  mov         al, 0xb3
1102
1013: AB                                     stosw
1103
1014: 81 C7 98 00                            add         di, 152
1104
1018: AB                                     stosw
1105
1019: 83 C7 04                               add         di, 4
1106
101C: AB                                     stosw
1107
101D: 81 C7 98 00                            add         di, 152
1108
1021: AB                                     stosw
1109
1022: 83 C7 04                               add         di, 4
1110
1025: B0 C0                                  mov         al, 0xc0
1111
1027: AB                                     stosw
1112
1028: B0 C4                                  mov         al, 0xc4
1113
102A: B9 4C 00                               mov         cx, 76
1114
102D: F3                                     rep
1115
102E: AB                                     stosw
1116
102F: B0 D9                                  mov         al, 0xd9
1117
1031: AB                                     stosw
1118
1032: BE 2E 03                               mov         si, start_msg
1119
1035: B9 4A 00                               mov         cx, start_msg_e - start_msg
1120
1038: BF C6 0D                               mov         di, 3526
1121
103B: AC                                     lodsb
1122
103C: AB                                     stosw
1123
103D: E2 FC                                  loop        @b
1124
103F: 83 C7 2C                               add         di, 44
1125
1042: BE 78 03                               mov         si, time_msg
1126
1045: B9 2D 00                               mov         cx, time_msg_e - time_msg
1127
1048: AC                                     lodsb
1128
1049: AB                                     stosw
1129
104A: E2 FC                                  loop        @b
1130
104C: 89 26 E0 1A                            mov         word [ start_stack ], sp
1131
1050: 31 C0                                  xor         ax, ax
1132
1052: CD 16                                  int         0x16
1133
1054: 66 8B 1E D4 1A                         mov         ebx, dword [ old_timer ]
1134
1059: 66 3B 1E DC 1A                         cmp         ebx, dword [ timer_ ]
1135
105E: 74 2A                                  jz          @f
1136
1060: FA                                     cli
1137
1061: 6A 00                                  push        0
1138
1063: 07                                     pop         es
1139
1064: 26 66 89 1E 20 00                      mov         [ es : 8 * 4 ], ebx
1140
106A: 66 89 1E DC 1A                         mov         dword [ timer_ ], ebx
1141
106F: FB                                     sti
1142
1070: 50                                     push        ax
1143
1071: 68 00 B8                               push        0xb800
1144
1074: 07                                     pop         es
1145
1075: 31 C0                                  xor         ax, ax
1146
1077: B8 20 07                               mov         ax, 0x0720
1147
107A: BF 20 0D                               mov         di, 3360
1148
107D: B9 40 01                               mov         cx, 80 * 4
1149
1080: F3                                     rep
1150
1081: AB                                     stosw
1151
1082: 68 00 20                               push        ini_data_
1152
1085: 07                                     pop         es
1153
1086: E8 CE F9                               call        show_bl_sc_sect
1154
1089: 58                                     pop         ax
1155
108A: E8 23 F9                               call        clean_active_cursor
1156
108D: 80 FC 48                               cmp         ah, 0x48
1157
1090: 74 21                                  jz          .up
1158
1092: 80 FC 50                               cmp         ah, 0x50
1159
1095: 74 3A                                  jz          .down
1160
1097: 80 FC 49                               cmp         ah, 0x49
1161
109A: 74 53                                  jz          .pgup
1162
109C: 80 FC 51                               cmp         ah, 0x51
1163
109F: 74 5B                                  jz          .pgdown
1164
10A1: 80 FC 47                               cmp         ah, 0x47
1165
10A4: 74 63                                  jz          .home
1166
10A6: 80 FC 4F                               cmp         ah, 0x4f
1167
10A9: 74 66                                  jz          .end
1168
10AB: 3C 0D                                  cmp         al, 0xD
1169
10AD: 0F 85 64 FE                            jnz         .show_active_cursor
1170
10B1: EB 6F                                  jmp         .end_show_all
1171
10B3: 8B 76 CA                               mov         si, point_to_point_def
1172
10B6: 83 C6 02                               add         si, 2
1173
10B9: 8D 46 F2                               lea         ax, point_to_hframe
1174
10BC: 39 C6                                  cmp         si, ax
1175
10BE: 77 0B                                  ja          @f
1176
10C0: 89 76 CA                               mov         point_to_point_def, si
1177
10C3: 8B 04                                  mov         ax, [ si ]
1178
10C5: 89 46 F4                               mov         point_default, ax
1179
10C8: E9 4A FE                               jmp         .show_active_cursor
1180
10CB: E8 52 F8                               call        find_before_sect
1181
10CE: E9 B1 FD                               jmp         .show_all_scr
1182
10D1: 8B 76 CA                               mov         si, point_to_point_def
1183
10D4: 8B 46 C8                               mov         ax, point_to_eframe
1184
10D7: 83 EE 02                               sub         si, 2
1185
10DA: 39 C6                                  cmp         si, ax
1186
10DC: 72 0B                                  jb          @f
1187
10DE: 89 76 CA                               mov         point_to_point_def, si
1188
10E1: 8B 04                                  mov         ax, [ si ]
1189
10E3: 89 46 F4                               mov         point_default, ax
1190
10E6: E9 2C FE                               jmp         .show_active_cursor
1191
10E9: E8 8D F8                               call        find_next_sect
1192
10EC: E9 93 FD                               jmp         .show_all_scr
1193
10EF: B9 12 00                               mov         cx, size_show_section
1194
10F2: 51                                     push        cx
1195
10F3: E8 2A F8                               call        find_before_sect
1196
10F6: 59                                     pop         cx
1197
10F7: E2 F9                                  loop        @b
1198
10F9: E9 86 FD                               jmp         .show_all_scr
1199
10FC: B9 12 00                               mov         cx, size_show_section
1200
10FF: 51                                     push        cx
1201
1100: E8 76 F8                               call        find_next_sect
1202
1103: 59                                     pop         cx
1203
1104: E2 F9                                  loop        @b
1204
1106: E9 79 FD                               jmp         .show_all_scr
1205
1109: 31 FF                                  xor         di, di
1206
110B: E8 79 F8                               call        find_next_sect.h
1207
110E: E9 71 FD                               jmp         .show_all_scr
1208
1111: 8B 7E FE                               mov         di, save_cx
1209
1114: E8 0C F8                               call        find_before_sect.e
1210
1117: E9 68 FD                               jmp         .show_all_scr
1211
111A: 60                                     pusha
1212
111B: BE D7 04                               mov         si, no_show_only_w
1213
111E: E8 23 F7                               call        printplain
1214
1121: 61                                     popa
1215
1122: 8B 7E F4                               mov         di, point_default
1216
1125: 68 00 20                               push        ini_data_
1217
1128: 07                                     pop         es
1218
1129: 8B 76 CA                               mov         si, point_to_point_def
1219
112C: 83 EE 02                               sub         si, 2
1220
112F: 8B 0C                                  mov         cx, [ si ]
1221
1131: 31 C0                                  xor         ax, ax
1222
1133: 29 F9                                  sub         cx, di
1223
1135: 89 4E FA                               mov         save_cx_d, cx
1224
1138: 89 46 F8                               mov         status_flag, ax
1225
113B: BE 2B 05                               mov         si, ramdiskFS_st
1226
113E: E8 03 F7                               call        printplain
1227
1141: 31 C0                                  xor         ax, ax
1228
1143: 89 46 C0                               mov         show_errors_sect, ax
1229
1146: B4 88                                  mov         ah, 0x88
1230
1148: CD 15                                  int         0x15
1231
114A: 73 02                                  jnc         ._support_function_use_free_memory
1232
114C: 31 C0                                  xor         ax, ax
1233
114E: 89 46 C2                               mov         free_ad_memory, ax
1234
1151: 60                                     pusha
1235
1152: 66 0F B7 C0                            movzx       eax, ax
1236
1156: B9 0A 00                               mov         cx, 0x0a
1237
1159: BF 46 05                               mov         di, free_memory_msg
1238
115C: 66 C7 05 20 20 20 20                   mov         dword [ ds : di ], '    '
1239
1163: C7 45 04 20 20                         mov         word [ ds : di + 4 ], '  '
1240
1168: E8 BA F6                               call        decode
1241
116B: BE 46 05                               mov         si, free_memory_msg
1242
116E: E8 D3 F6                               call        printplain
1243
1171: 61                                     popa
1244
1172: 8B 7E F4                               mov         di, point_default
1245
1175: 8B 4E FA                               mov         cx, save_cx_d
1246
1178: E8 F8 F6                               call        get_firs_sym
1247
117B: 85 C9                                  test        cx, cx
1248
117D: 74 6E                                  jz          ._end_parse_RS?0k2
1249
117F: 3C 52                                  cmp         al, 'R'
1250
1181: 75 F5                                  jnz         .start_p_RS?0ju
1251
1183: 89 CB                                  mov         bx, cx
1252
1185: 89 F8                                  mov         ax, di
1253
1187: BE D9 07                               mov         si, parse_RamdiskSize
1254
118A: B9 0B 00                               mov         cx, parse_RamdiskSize_e - parse_RamdiskSize
1255
118D: F3                                     repe
1256
118E: A6                                     cmpsb
1257
118F: 75 4C                                  jnz         .rest_value_loop_RS?0jz
1258
1191: 83 EB 0B                               sub         bx, parse_RamdiskSize_e - parse_RamdiskSize
1259
1194: 01 CB                                  add         bx, cx
1260
1196: 89 D9                                  mov         cx, bx
1261
1198: F7 46 F8 02 00                         test        status_flag, flag_found_RS
1262
119D: 74 00                                  jz          .correct_is_not_set_RS?0jv
1263
119F: B8 20 3D                               mov         ax, 0x3d20
1264
11A2: F3                                     repe
1265
11A3: AE                                     scasb
1266
11A4: E3 3D                                  jcxz        .end_get_RS_ERROR_1?0k0
1267
11A6: 26 3A 65 FF                            cmp         ah, byte [ es : di - 1 ]
1268
11AA: 75 CC                                  jnz         .start_p_RS?0ju
1269
11AC: F3                                     repe
1270
11AD: AE                                     scasb
1271
11AE: 41                                     inc         cx
1272
11AF: 4F                                     dec         di
1273
11B0: 31 DB                                  xor         bx, bx
1274
11B2: B9 05 00                               mov         cx, 5
1275
11B5: 26 8A 05                               mov         al, byte [ es : di ]
1276
11B8: 3C 30                                  cmp         al, '0'
1277
11BA: 72 04                                  jb          .CS?0jw
1278
11BC: 3C 39                                  cmp         al, '9'
1279
11BE: 76 06                                  jbe         .correct_val_RS?0jx
1280
11C0: 3C 4B                                  cmp         al, 'K'
1281
11C2: 74 0C                                  jz          .correct_size_RS?0jy
1282
11C4: EB 23                                  jmp         .end_get_RS_ERROR_2?0k1
1283
11C6: 6B DB 0A                               imul        bx, 10
1284
11C9: 34 30                                  xor         al, 0x30
1285
11CB: 00 C3                                  add         bl, al
1286
11CD: 47                                     inc         di
1287
11CE: E2 E5                                  loop        @b
1288
11D0: 85 DB                                  test        bx, bx
1289
11D2: 75 07                                  jnz         @f
1290
11D4: 83 4E C0 04                            or          show_errors_sect, show_error_3
1291
11D8: BB 40 00                               mov         bx, 64
1292
11DB: EB 10                                  jmp         ._end_parse_RS?0k2
1293
11DD: 89 C7                                  mov         di, ax
1294
11DF: 89 D9                                  mov         cx, bx
1295
11E1: EB 95                                  jmp         .start_p_RS?0ju
1296
11E3: 83 4E C0 01                            or          show_errors_sect, show_error_1
1297
11E7: EB 04                                  jmp         ._end_parse_RS?0k2
1298
11E9: 83 4E C0 02                            or          show_errors_sect, show_error_2
1299
11ED: 60                                     pusha
1300
11EE: 66 0F B7 C3                            movzx       eax, bx
1301
11F2: B9 0A 00                               mov         cx, 0x0a
1302
11F5: BF 71 05                               mov         di, RamdiskSize_msg
1303
11F8: 66 C7 05 20 20 20 20                   mov         dword [ ds : di ], '    '
1304
11FF: C7 45 04 20 20                         mov         word [ ds : di + 4 ], '  '
1305
1204: E8 1E F6                               call        decode
1306
1207: BE 71 05                               mov         si, RamdiskSize_msg
1307
120A: E8 37 F6                               call        printplain
1308
120D: 61                                     popa
1309
120E: 39 5E C2                               cmp         free_ad_memory, bx
1310
1211: 0F 86 80 07                            jbe         ._not_memory_in_sys?0iL
1311
1215: 66 0F B7 C3                            movzx       eax, bx
1312
1219: 66 C1 E0 0A                            shl         eax, 10
1313
121D: 66 89 46 BA                            mov         save_ramdisksize, eax
1314
1221: 8B 7E F4                               mov         di, point_default
1315
1224: 8B 4E FA                               mov         cx, save_cx_d
1316
1227: E8 49 F6                               call        get_firs_sym
1317
122A: 85 C9                                  test        cx, cx
1318
122C: 0F 84 5D 07                            jz          ._end_parse_FRS
1319
1230: 3C 52                                  cmp         al, 'R'
1320
1232: 75 F3                                  jnz         .start_g_tpe_RFS
1321
1234: 89 CB                                  mov         bx, cx
1322
1236: 89 F8                                  mov         ax, di
1323
1238: BE E4 07                               mov         si, parse_RamdiskFS
1324
123B: B9 09 00                               mov         cx, parse_RamdiskFS_e - parse_RamdiskFS
1325
123E: F3                                     repe
1326
123F: A6                                     cmpsb
1327
1240: 0F 85 38 07                            jnz         .start_g_tpe_RFS_rest_v
1328
1244: 83 EB 09                               sub         bx, parse_RamdiskFS_e - parse_RamdiskFS
1329
1247: 01 CB                                  add         bx, cx
1330
1249: 89 D9                                  mov         cx, bx
1331
124B: F7 46 F8 04 00                         test        status_flag, flag_found_GTRFMS
1332
1250: 74 00                                  jz          .correct_is_not_set_FRS
1333
1252: B8 20 3D                               mov         ax, 0x3d20
1334
1255: F3                                     repe
1335
1256: AE                                     scasb
1336
1257: 85 C9                                  test        cx, cx
1337
1259: 0F 84 26 07                            jz          .end_get_FRS_ERROR_1
1338
125D: 26 3A 65 FF                            cmp         ah, byte [ es : di - 1 ]
1339
1261: 75 C4                                  jnz         .start_g_tpe_RFS
1340
1263: F3                                     repe
1341
1264: AE                                     scasb
1342
1265: 41                                     inc         cx
1343
1266: 4F                                     dec         di
1344
1267: 89 CB                                  mov         bx, cx
1345
1269: 89 F8                                  mov         ax, di
1346
126B: BE 08 08                               mov         si, parse_RFS_FAT
1347
126E: B9 03 00                               mov         cx, parse_RFS_FAT_e - parse_RFS_FAT
1348
1271: F3                                     repe
1349
1272: A6                                     cmpsb
1350
1273: 0F 85 F7 06                            jnz         .krfs_cmp
1351
1277: 8B 7E F4                               mov         di, point_default
1352
127A: 8B 4E FA                               mov         cx, save_cx_d
1353
127D: E8 F3 F5                               call        get_firs_sym
1354
1280: 85 C9                                  test        cx, cx
1355
1282: 74 54                                  jz          .end_RamdiskSector
1356
1284: 3C 52                                  cmp         al, 'R'
1357
1286: 75 F5                                  jnz         .start_RamdiskSector
1358
1288: 89 CB                                  mov         bx, cx
1359
128A: 89 F8                                  mov         ax, di
1360
128C: BE ED 07                               mov         si, parse_RamdiskSector
1361
128F: B9 0D 00                               mov         cx, parse_RamdiskSector_e - parse_RamdiskSector
1362
1292: F3                                     repe
1363
1293: A6                                     cmpsb
1364
1294: 75 3C                                  jnz         .RamdiskSector_rest_val
1365
1296: 83 EB 0D                               sub         bx, parse_RamdiskSector_e - parse_RamdiskSector
1366
1299: 01 CB                                  add         bx, cx
1367
129B: 89 D9                                  mov         cx, bx
1368
129D: F7 46 F8 08 00                         test        status_flag, flag_found_RamdiskSector
1369
12A2: 74 00                                  jz          .correct_is_not_set_RamdiskSector
1370
12A4: B8 20 3D                               mov         ax, 0x3d20
1371
12A7: F3                                     repe
1372
12A8: AE                                     scasb
1373
12A9: E3 2D                                  jcxz        .end_get_RamS_ERROR_1
1374
12AB: 26 3A 65 FF                            cmp         ah, byte [ es : di - 1 ]
1375
12AF: 75 CC                                  jnz         .start_RamdiskSector
1376
12B1: F3                                     repe
1377
12B2: AE                                     scasb
1378
12B3: 41                                     inc         cx
1379
12B4: 4F                                     dec         di
1380
12B5: 31 DB                                  xor         bx, bx
1381
12B7: B9 04 00                               mov         cx, 4
1382
12BA: 26 0F B6 05                            movzx       ax, byte [ es : di ]
1383
12BE: 3C 30                                  cmp         al, '0'
1384
12C0: 72 16                                  jb          .end_RamdiskSector
1385
12C2: 3C 39                                  cmp         al, '9'
1386
12C4: 77 12                                  ja          .end_RamdiskSector
1387
12C6: 6B DB 0A                               imul        bx, 10
1388
12C9: 34 30                                  xor         al, 0x30
1389
12CB: 01 C3                                  add         bx, ax
1390
12CD: 47                                     inc         di
1391
12CE: E2 EA                                  loop        @b
1392
12D0: EB 06                                  jmp         .end_RamdiskSector
1393
12D2: 89 D9                                  mov         cx, bx
1394
12D4: 89 C7                                  mov         di, ax
1395
12D6: EB A5                                  jmp         .start_RamdiskSector
1396
12D8: 89 D8                                  mov         ax, bx
1397
12DA: 60                                     pusha
1398
12DB: 66 0F B7 C3                            movzx       eax, bx
1399
12DF: B9 0A 00                               mov         cx, 0x0a
1400
12E2: BF 8E 05                               mov         di, RamdiskSector_msg
1401
12E5: 66 C7 05 20 20 20 20                   mov         dword [ ds : di ], '    '
1402
12EC: 66 C7 45 04 20 20 20 20                mov         dword [ ds : di + 4 ], '    '
1403
12F4: E8 2E F5                               call        decode
1404
12F7: BE 8E 05                               mov         si, RamdiskSector_msg
1405
12FA: E8 47 F5                               call        printplain
1406
12FD: 61                                     popa
1407
12FE: 3D 00 10                               cmp         ax, 4096
1408
1301: 77 04                                  ja          .RS1?0sn
1409
1303: 85 C0                                  test        ax, ax
1410
1305: 75 06                                  jnz         @f
1411
1307: C7 06 87 1A 00 02                      mov         word [ fat12_buffer.BPB_BytsPerSec ], 512
1412
130D: A3 87 1A                               mov         word [ fat12_buffer.BPB_BytsPerSec ], ax
1413
1310: 8B 7E F4                               mov         di, point_default
1414
1313: 8B 4E FA                               mov         cx, save_cx_d
1415
1316: E8 5A F5                               call        get_firs_sym
1416
1319: 85 C9                                  test        cx, cx
1417
131B: 74 47                                  jz          .end_RamdiskCluster
1418
131D: 3C 52                                  cmp         al, 'R'
1419
131F: 75 F5                                  jnz         .start_RamdiskCluster
1420
1321: 89 CB                                  mov         bx, cx
1421
1323: 89 F8                                  mov         ax, di
1422
1325: BE FA 07                               mov         si, parse_RamdiskCluster
1423
1328: B9 0E 00                               mov         cx, parse_RamdiskCluster_e - parse_RamdiskCluster
1424
132B: F3                                     repe
1425
132C: A6                                     cmpsb
1426
132D: 75 2F                                  jnz         .RamdiskCluster_rest_val
1427
132F: 83 EB 0E                               sub         bx, parse_RamdiskCluster_e - parse_RamdiskCluster
1428
1332: 01 CB                                  add         bx, cx
1429
1334: 89 D9                                  mov         cx, bx
1430
1336: F7 46 F8 16 00                         test        status_flag, flag_found_RamdiskCluster
1431
133B: 74 00                                  jz          .correct_is_not_set_RamdiskCluster
1432
133D: B8 20 3D                               mov         ax, 0x3d20
1433
1340: F3                                     repe
1434
1341: AE                                     scasb
1435
1342: E3 20                                  jcxz        .end_get_RamSC_ERROR_1
1436
1344: 26 3A 65 FF                            cmp         ah, byte [ es : di - 1 ]
1437
1348: 75 CC                                  jnz         .start_RamdiskCluster
1438
134A: F3                                     repe
1439
134B: AE                                     scasb
1440
134C: 41                                     inc         cx
1441
134D: 4F                                     dec         di
1442
134E: 26 0F B6 05                            movzx       ax, byte [ es : di ]
1443
1352: 3C 30                                  cmp         al, '0'
1444
1354: 72 0E                                  jb          .end_RamdiskCluster
1445
1356: 3C 39                                  cmp         al, '9'
1446
1358: 77 0A                                  ja          .end_RamdiskCluster
1447
135A: 34 30                                  xor         al, 0x30
1448
135C: EB 06                                  jmp         .end_RamdiskCluster
1449
135E: 89 D9                                  mov         cx, bx
1450
1360: 89 C7                                  mov         di, ax
1451
1362: EB B2                                  jmp         .start_RamdiskCluster
1452
1364: 60                                     pusha
1453
1365: B9 0A 00                               mov         cx, 0x0a
1454
1368: BF AA 05                               mov         di, RamdiskCluster_msg
1455
136B: E8 B7 F4                               call        decode
1456
136E: BE AA 05                               mov         si, RamdiskCluster_msg
1457
1371: E8 D0 F4                               call        printplain
1458
1374: 61                                     popa
1459
1375: 3C 80                                  cmp         al, 128
1460
1377: 77 6B                                  ja          @f
1461
1379: A2 89 1A                               mov         byte [ fat12_buffer.BPB_SecPerClus ], al
1462
137C: 66 0F B7 06 87 1A                      movzx       eax, word [ fat12_buffer.BPB_BytsPerSec ]
1463
1382: 66 0F B6 1E 89 1A                      movzx       ebx, byte [ fat12_buffer.BPB_SecPerClus ]
1464
1388: 66 0F AF D8                            imul        ebx, eax
1465
138C: 66 8B 46 BA                            mov         eax, save_ramdisksize
1466
1390: 66 99                                  cdq
1467
1392: 66 F7 FB                               idiv        ebx
1468
1395: 66 3D F5 0F 00 00                      cmp         eax, 4085
1469
139B: 0F 82 8E 00                            jb          .fat12?0so
1470
139F: 66 3D F5 FF 00 00                      cmp         eax, 65525
1471
13A5: 72 18                                  jb          .fat16?0sp
1472
13A7: C7 46 B4 20 00                         mov         set_ramfs, 32
1473
13AC: C7 06 8A 1A 20 00                      mov         word [ fat12_buffer.BPB_RsvdSecCnt ], 32
1474
13B2: 66 31 C0                               xor         eax, eax
1475
13B5: A3 8D 1A                               mov         word [ fat12_buffer.BPB_RootEntCnt ], ax
1476
13B8: A3 8F 1A                               mov         word [ fat12_buffer.BPB_TotSec16 ], ax
1477
13BB: 66 A3 9C 1A                            mov         dword [ fat12_buffer.BPB_TotSec32 ], eax
1478
13BF: EB FE                                  jmp         $
1479
13C1: C7 46 B4 10 00                         mov         set_ramfs, 16
1480
13C6: 66 0F B6 1E 89 1A                      movzx       ebx, byte [ fat12_buffer.BPB_SecPerClus ]
1481
13CC: 66 0F AF C3                            imul        eax, ebx
1482
13D0: 66 3D 00 00 01 00                      cmp         eax, 0x10000
1483
13D6: 73 0C                                  jae         @f
1484
13D8: A3 8F 1A                               mov         word [ fat12_buffer.BPB_TotSec16 ], ax
1485
13DB: 66 C7 06 9C 1A 00 00 00 00             mov         dword [ fat12_buffer.BPB_TotSec32 ], 0
1486
13E4: 66 B8 E0 00 00 00                      mov         eax, root_dir_entry_count
1487
13EA: A3 8D 1A                               mov         word [ fat12_buffer.BPB_RootEntCnt ], ax
1488
13ED: 66 0F B7 1E 87 1A                      movzx       ebx, word [ fat12_buffer.BPB_BytsPerSec ]
1489
13F3: 66 6B C0 20                            imul        eax, 32
1490
13F7: 66 01 D8                               add         eax, ebx
1491
13FA: 66 48                                  dec         eax
1492
13FC: 66 99                                  cdq
1493
13FE: 66 F7 FB                               idiv        ebx
1494
1401: 66 0F B7 1E 8A 1A                      movzx       ebx, word [ fat12_buffer.BPB_RsvdSecCnt ]
1495
1407: 66 01 C3                               add         ebx, eax
1496
140A: 66 0F B7 06 8F 1A                      movzx       eax, word [ fat12_buffer.BPB_TotSec16 ]
1497
1410: 66 29 D8                               sub         eax, ebx
1498
1413: 66 C1 E7 08                            shl         edi, 8
1499
1417: 66 0F B6 0E 8C 1A                      movzx       ecx, byte [ fat12_buffer.BPB_NumFATs ]
1500
141D: 66 01 CF                               add         edi, ecx
1501
1420: 66 01 F8                               add         eax, edi
1502
1423: 66 48                                  dec         eax
1503
1425: 66 99                                  cdq
1504
1427: 66 F7 FF                               idiv        edi
1505
142A: A3 92 1A                               mov         word [ fat12_buffer.BPB_FATSz16 ], ax
1506
142D: C7 46 B4 0C 00                         mov         set_ramfs, 12
1507
1432: 66 0F B6 1E 89 1A                      movzx       ebx, byte [ fat12_buffer.BPB_SecPerClus ]
1508
1438: 66 0F AF C3                            imul        eax, ebx
1509
143C: 66 3D 00 00 01 00                      cmp         eax, 0x10000
1510
1442: 73 0C                                  jae         @f
1511
1444: A3 8F 1A                               mov         word [ fat12_buffer.BPB_TotSec16 ], ax
1512
1447: 66 C7 06 9C 1A 00 00 00 00             mov         dword [ fat12_buffer.BPB_TotSec32 ], 0
1513
1450: 66 B8 E0 00 00 00                      mov         eax, root_dir_entry_count
1514
1456: A3 8D 1A                               mov         word [ fat12_buffer.BPB_RootEntCnt ], ax
1515
1459: 66 0F B7 06 8F 1A                      movzx       eax, word [ fat12_buffer.BPB_TotSec16 ]
1516
145F: 66 6B C0 0C                            imul        eax, 12
1517
1463: 66 C1 E8 03                            shr         eax, 3
1518
1467: 66 0F B7 1E 87 1A                      movzx       ebx, word [ fat12_buffer.BPB_BytsPerSec ]
1519
146D: 66 99                                  cdq
1520
146F: 66 F7 FB                               idiv        ebx
1521
1472: 40                                     inc         ax
1522
1473: A3 92 1A                               mov         word [ fat12_buffer.BPB_FATSz16 ], ax
1523
1476: A1 92 1A                               mov         ax, word [ fat12_buffer.BPB_FATSz16 ]
1524
1479: 0F B6 1E 8C 1A                         movzx       bx, byte [ fat12_buffer.BPB_NumFATs ]
1525
147E: 0F AF C3                               imul        ax, bx
1526
1481: 8B 1E 8D 1A                            mov         bx, word [ fat12_buffer.BPB_RootEntCnt ]
1527
1485: C1 EB 04                               shr         bx, 4
1528
1488: 01 D8                                  add         ax, bx
1529
148A: 89 5E B0                               mov         size_root_dir, bx
1530
148D: 0F B6 1E 8A 1A                         movzx       bx, byte [ fat12_buffer.BPB_RsvdSecCnt ]
1531
1492: 01 D8                                  add         ax, bx
1532
1494: 89 46 AE                               mov         firstDataSect, ax
1533
1497: 8B 1E 8F 1A                            mov         bx, word [ fat12_buffer.BPB_TotSec16 ]
1534
149B: 29 C3                                  sub         bx, ax
1535
149D: 89 D8                                  mov         ax, bx
1536
149F: 0F B6 1E 89 1A                         movzx       bx, byte [ fat12_buffer.BPB_SecPerClus ]
1537
14A4: 99                                     cwd
1538
14A5: F7 FB                                  idiv        bx
1539
14A7: 89 46 AC                               mov         DataClasters, ax
1540
14AA: 60                                     pusha
1541
14AB: 8B 46 AE                               mov         ax, firstDataSect
1542
14AE: B9 0A 00                               mov         cx, 0x0a
1543
14B1: BF 44 06                               mov         di, firstDataSect_msg
1544
14B4: E8 6E F3                               call        decode
1545
14B7: BE 44 06                               mov         si, firstDataSect_msg
1546
14BA: E8 87 F3                               call        printplain
1547
14BD: 8B 46 B0                               mov         ax, size_root_dir
1548
14C0: B9 0A 00                               mov         cx, 0x0a
1549
14C3: BF 79 06                               mov         di, size_root_dir_msg
1550
14C6: E8 5C F3                               call        decode
1551
14C9: BE 79 06                               mov         si, size_root_dir_msg
1552
14CC: E8 75 F3                               call        printplain
1553
14CF: 8B 46 AC                               mov         ax, DataClasters
1554
14D2: B9 0A 00                               mov         cx, 0x0a
1555
14D5: BF 9B 06                               mov         di, DataClasters_msg
1556
14D8: E8 4A F3                               call        decode
1557
14DB: BE 9B 06                               mov         si, DataClasters_msg
1558
14DE: E8 63 F3                               call        printplain
1559
14E1: 61                                     popa
1560
14E2: A0 91 1A                               mov         al, byte [ fat12_buffer.BPB_Media ]
1561
14E5: 1E                                     push        ds
1562
14E6: 8B 7E C4                               mov         di, info_real_mode_size
1563
14E9: 81 C7 00 10                            add         di, 0x1000
1564
14ED: 57                                     push        di
1565
14EE: 31 FF                                  xor         di, di
1566
14F0: 89 7E AA                               mov         point_to_free_root, di
1567
14F3: 1F                                     pop         ds
1568
14F4: 88 05                                  mov         byte [ di ], al
1569
14F6: 83 C8 FF                               or          ax, - 1
1570
14F9: 47                                     inc         di
1571
14FA: 89 05                                  mov         word [ di ], ax
1572
14FC: 1F                                     pop         ds
1573
14FD: C7 46 B2 03 00                         mov         point_next_fat_str, 3
1574
1502: 60                                     pusha
1575
1503: 8B 46 B2                               mov         ax, point_next_fat_str
1576
1506: B9 0A 00                               mov         cx, 0x0a
1577
1509: BF DA 05                               mov         di, fat_create_msg
1578
150C: E8 16 F3                               call        decode
1579
150F: BE DA 05                               mov         si, fat_create_msg
1580
1512: E8 2F F3                               call        printplain
1581
1515: 61                                     popa
1582
1516: B8 7C 1A                               mov         ax, fat12_buffer
1583
1519: BE 3C 1A                               mov         si, table_15_87
1584
151C: 01 44 12                               add         word [ si + 8 * 2 + 2 ], ax
1585
151F: 06                                     push        es
1586
1520: 1E                                     push        ds
1587
1521: 07                                     pop         es
1588
1522: B9 1F 00                               mov         cx, 31
1589
1525: B4 87                                  mov         ah, 0x87
1590
1527: CD 15                                  int         0x15
1591
1529: 07                                     pop         es
1592
152A: 60                                     pusha
1593
152B: 8B 44 12                               mov         ax, word [ si + 8 * 2 + 2 ]
1594
152E: B9 0A 00                               mov         cx, 0x0a
1595
1531: BF 0E 06                               mov         di, BPB_msg
1596
1534: E8 EE F2                               call        decode
1597
1537: BE 0E 06                               mov         si, BPB_msg
1598
153A: E8 07 F3                               call        printplain
1599
153D: 61                                     popa
1600
153E: 8B 7E F4                               mov         di, point_default
1601
1541: 8B 4E FA                               mov         cx, save_cx_d
1602
1544: C7 46 A6 00 00                         mov         data_offset, 0
1603
1549: E8 27 F3                               call        get_firs_sym
1604
154C: 85 C9                                  test        cx, cx
1605
154E: 0F 84 B3 03                            jz          ._end?1D2
1606
1552: 3C 52                                  cmp         al, 'R'
1607
1554: 75 F3                                  jnz         .start_loop?1D1
1608
1556: 89 CB                                  mov         bx, cx
1609
1558: 89 F8                                  mov         ax, di
1610
155A: BE 1A 08                               mov         si, parse_RamdiskFile
1611
155D: B9 0B 00                               mov         cx, parse_RamdiskFile_e - parse_RamdiskFile
1612
1560: F3                                     repe
1613
1561: A6                                     cmpsb
1614
1562: 0F 85 98 03                            jnz         .rest_value_loop?1D3
1615
1566: 83 EB 0B                               sub         bx, parse_RamdiskFile_e - parse_RamdiskFile
1616
1569: 01 CB                                  add         bx, cx
1617
156B: 89 D9                                  mov         cx, bx
1618
156D: B8 20 3D                               mov         ax, 0x3d20
1619
1570: F3                                     repe
1620
1571: AE                                     scasb
1621
1572: 66 85 C9                               test        ecx, ecx
1622
1575: 0F 84 85 03                            jz          .rest_value_loop?1D3
1623
1579: 26 3A 65 FF                            cmp         ah, byte [ es : di - 1 ]
1624
157D: 0F 85 7D 03                            jnz         .rest_value_loop?1D3
1625
1581: F3                                     repe
1626
1582: AE                                     scasb
1627
1583: 41                                     inc         cx
1628
1584: 4F                                     dec         di
1629
1585: 89 7E A2                               mov         save_di_RAMDISK, di
1630
1588: 89 4E A0                               mov         save_cx_RAMDISK, cx
1631
158B: 26 8A 05                               mov         al, byte [ es : di ]
1632
158E: 3C 2C                                  cmp         al, ','
1633
1590: 74 04                                  jz          .found_end_str
1634
1592: 47                                     inc         di
1635
1593: 49                                     dec         cx
1636
1594: 75 F5                                  jnz         @b
1637
1596: 89 7E A8                               mov         point_to_dest_file_name, di
1638
1599: 47                                     inc         di
1639
159A: BE BA 1A                               mov         si, shot_name_fat
1640
159D: 83 4E A4 FF                            or          first_input, - 1
1641
15A1: B9 0B 00                               mov         cx, 11
1642
15A4: 26 8A 05                               mov         al, byte [ es : di ]
1643
15A7: 3C 0A                                  cmp         al, 0xa
1644
15A9: 74 7D                                  jz          .st4_s?1GP
1645
15AB: 3C 0D                                  cmp         al, 0xd
1646
15AD: 74 79                                  jz          .st4_s?1GP
1647
15AF: 3C 20                                  cmp         al, 0x20
1648
15B1: 74 75                                  jz          .st4_s?1GP
1649
15B3: 3C 20                                  cmp         al, 0x20
1650
15B5: 72 7A                                  jb          .error?1GK
1651
15B7: 3C 22                                  cmp         al, 0x22
1652
15B9: 74 76                                  jz          .error?1GK
1653
15BB: 3C 2A                                  cmp         al, 0x2a
1654
15BD: 74 72                                  jz          .error?1GK
1655
15BF: 3C 2B                                  cmp         al, 0x2b
1656
15C1: 74 6E                                  jz          .error?1GK
1657
15C3: 3C 2C                                  cmp         al, 0x2c
1658
15C5: 74 6A                                  jz          .error?1GK
1659
15C7: 3C 2F                                  cmp         al, 0x2F
1660
15C9: 74 66                                  jz          .error?1GK
1661
15CB: 3C 3A                                  cmp         al, 0x3a
1662
15CD: 74 62                                  jz          .error?1GK
1663
15CF: 3C 3B                                  cmp         al, 0x3b
1664
15D1: 74 5E                                  jz          .error?1GK
1665
15D3: 3C 3C                                  cmp         al, 0x3c
1666
15D5: 74 5A                                  jz          .error?1GK
1667
15D7: 3C 3D                                  cmp         al, 0x3d
1668
15D9: 74 56                                  jz          .error?1GK
1669
15DB: 3C 3E                                  cmp         al, 0x3E
1670
15DD: 74 52                                  jz          .error?1GK
1671
15DF: 3C 3F                                  cmp         al, 0x3F
1672
15E1: 74 4E                                  jz          .error?1GK
1673
15E3: 3C 5B                                  cmp         al, 0x5b
1674
15E5: 74 4A                                  jz          .error?1GK
1675
15E7: 3C 5C                                  cmp         al, 0x5c
1676
15E9: 74 46                                  jz          .error?1GK
1677
15EB: 3C 5D                                  cmp         al, 0x5d
1678
15ED: 74 42                                  jz          .error?1GK
1679
15EF: 3C 7C                                  cmp         al, 0x7c
1680
15F1: 74 3E                                  jz          .error?1GK
1681
15F3: 83 7E A4 FF                            cmp         first_input, - 1
1682
15F7: 75 08                                  jnz         .next_step?1GJ
1683
15F9: 83 66 A4 00                            and         first_input, 0
1684
15FD: 3C 2E                                  cmp         al, '.'
1685
15FF: 74 30                                  jz          .error?1GK
1686
1601: 3C 2E                                  cmp         al, 0x2e
1687
1603: 75 13                                  jnz         .st2?1GM
1688
1605: B0 20                                  mov         al, ' '
1689
1607: 80 F9 03                               cmp         cl, 3
1690
160A: 76 0C                                  jbe         .st2?1GM
1691
160C: 88 04                                  mov         byte [ si ], al
1692
160E: 46                                     inc         si
1693
160F: 49                                     dec         cx
1694
1610: 83 F9 03                               cmp         cx, 3
1695
1613: 77 F7                                  ja          .st3?1GO
1696
1615: 47                                     inc         di
1697
1616: EB 8C                                  jmp         @b
1698
1618: 3C 60                                  cmp         al, 0x60
1699
161A: 76 02                                  jbe         .st2_l?1GN
1700
161C: 34 20                                  xor         al, 0x20
1701
161E: 88 04                                  mov         byte [ si ], al
1702
1620: 47                                     inc         di
1703
1621: 46                                     inc         si
1704
1622: E2 80                                  loop        @b
1705
1624: 31 C0                                  xor         ax, ax
1706
1626: EB 0C                                  jmp         @f
1707
1628: B0 20                                  mov         al, ' '
1708
162A: 88 04                                  mov         byte [ si ], al
1709
162C: 46                                     inc         si
1710
162D: E2 FB                                  loop        .st4?1GQ
1711
162F: EB F3                                  jmp         .st5?1GR
1712
1631: 83 C8 FF                               or          ax, - 1
1713
1634: 60                                     pusha
1714
1635: B9 0A 00                               mov         cx, 0x0a
1715
1638: BF F5 06                               mov         di, convertion_file_name_msg
1716
163B: E8 E7 F1                               call        decode
1717
163E: BE F5 06                               mov         si, convertion_file_name_msg
1718
1641: E8 00 F2                               call        printplain
1719
1644: BE BA 1A                               mov         si, shot_name_fat
1720
1647: C6 44 0C 00                            mov         byte [ si + 12 ], 0
1721
164B: E8 F6 F1                               call        printplain
1722
164E: 61                                     popa
1723
164F: 85 C0                                  test        ax, ax
1724
1651: 75 39                                  jnz         .exit?1GI
1725
1653: BE BA 1A                               mov         si, shot_name_fat
1726
1656: 8B 7E AE                               mov         di, firstDataSect
1727
1659: 2B 7E B0                               sub         di, size_root_dir
1728
165C: C1 E7 09                               shl         di, 9
1729
165F: BA E0 00                               mov         dx, root_dir_entry_count
1730
1662: 8B 46 C4                               mov         ax, info_real_mode_size
1731
1665: 05 00 10                               add         ax, 0x1000
1732
1668: 8E E8                                  mov         gs, ax
1733
166A: B9 0B 00                               mov         cx, 11
1734
166D: 8A 00                                  mov         al, byte [ ds : si + bx ]
1735
166F: 65 8A 21                               mov         ah, byte [ gs : di + bx ]
1736
1672: 43                                     inc         bx
1737
1673: 38 C4                                  cmp         ah, al
1738
1675: 75 07                                  jnz         .no_equal?1GH
1739
1677: E2 F4                                  loop        @b
1740
1679: 83 C8 FF                               or          ax, - 1
1741
167C: EB 0E                                  jmp         .exit?1GI
1742
167E: B9 0B 00                               mov         cx, 11
1743
1681: 31 DB                                  xor         bx, bx
1744
1683: 83 C7 20                               add         di, 32
1745
1686: 4A                                     dec         dx
1746
1687: 75 E4                                  jnz         @b
1747
1689: 83 E0 00                               and         ax, 0
1748
168C: 60                                     pusha
1749
168D: B9 0A 00                               mov         cx, 0x0a
1750
1690: BF B9 06                               mov         di, check_name_fat_msg
1751
1693: 66 C7 05 20 20 20 20                   mov         dword [ di ], '    '
1752
169A: C7 45 04 20 20                         mov         word [ di + 4 ], '  '
1753
169F: E8 83 F1                               call        decode
1754
16A2: BE B9 06                               mov         si, check_name_fat_msg
1755
16A5: E8 9C F1                               call        printplain
1756
16A8: 61                                     popa
1757
16A9: 8B 7E A2                               mov         di, save_di_RAMDISK
1758
16AC: 8B 4E A0                               mov         cx, save_cx_RAMDISK
1759
16AF: 84 C0                                  test        al, al
1760
16B1: 0F 85 94 FE                            jnz         .start_loop?1D1
1761
16B5: 26 66 FF 75 FA                         push        dword [ es : di - 6 ]
1762
16BA: 8D 75 FA                               lea         si, [ di - 6 ]
1763
16BD: 26 FF 75 FE                            push        word [ es : di - 2 ]
1764
16C1: 57                                     push        di
1765
16C2: 31 C0                                  xor         ax, ax
1766
16C4: 26 89 45 FA                            mov         word [ es : di - 6 ], ax
1767
16C8: 8B 46 C4                               mov         ax, info_real_mode_size
1768
16CB: 26 89 45 FC                            mov         word [ es : di - 4 ], ax
1769
16CF: 26 C7 45 FE 10 00                      mov         word [ es : di - 2 ], 16
1770
16D5: 8B 7E A8                               mov         di, point_to_dest_file_name
1771
16D8: 26 FF 35                               push        word [ es : di ]
1772
16DB: 51                                     push        cx
1773
16DC: 31 C0                                  xor         ax, ax
1774
16DE: 26 89 05                               mov         word [ es : di ], ax
1775
16E1: 57                                     push        di
1776
16E2: 89 F7                                  mov         di, si
1777
16E4: 40                                     inc         ax
1778
16E5: 56                                     push        si
1779
16E6: 06                                     push        es
1780
16E7: 55                                     push        bp
1781
16E8: 06                                     push        es
1782
16E9: 1F                                     pop         ds
1783
16EA: 0E                                     push        cs
1784
16EB: 07                                     pop         es
1785
16EC: 26 FF 1E DC 0A                         call        far dword [ es : loader_callback ]
1786
16F1: 0E                                     push        cs
1787
16F2: 1F                                     pop         ds
1788
16F3: 5D                                     pop         bp
1789
16F4: 07                                     pop         es
1790
16F5: 5E                                     pop         si
1791
16F6: 83 FB 02                               cmp         bx, 2
1792
16F9: 0F 87 01 02                            ja          .error?1D4
1793
16FD: 89 5E 9E                               mov         status_flag_loader_f, bx
1794
1700: 66 C1 E2 10                            shl         edx, 16
1795
1704: 89 C2                                  mov         dx, ax
1796
1706: 66 89 56 B6                            mov         save_file_size, edx
1797
170A: 66 89 D0                               mov         eax, edx
1798
170D: 5F                                     pop         di
1799
170E: 59                                     pop         cx
1800
170F: 26 8F 05                               pop         word [ es : di ]
1801
1712: 5F                                     pop         di
1802
1713: 26 8F 45 FE                            pop         word [ es : di - 2 ]
1803
1717: 26 66 8F 45 FA                         pop         dword [ es : di - 6 ]
1804
171C: 60                                     pusha
1805
171D: B9 0A 00                               mov         cx, 0x0a
1806
1720: BF C1 05                               mov         di, RamdiskFile_msg
1807
1723: 66 C7 05 20 20 20 20                   mov         dword [ ds : di ], '    '
1808
172A: E8 F8 F0                               call        decode
1809
172D: BE C1 05                               mov         si, RamdiskFile_msg
1810
1730: E8 11 F1                               call        printplain
1811
1733: 61                                     popa
1812
1734: 06                                     push        es
1813
1735: 8B 46 C4                               mov         ax, info_real_mode_size
1814
1738: 05 00 10                               add         ax, 0x1000
1815
173B: 8E C0                                  mov         es, ax
1816
173D: 8B 7E AE                               mov         di, firstDataSect
1817
1740: 2B 7E B0                               sub         di, size_root_dir
1818
1743: C1 E7 09                               shl         di, 9
1819
1746: 03 7E AA                               add         di, point_to_free_root
1820
1749: BE BA 1A                               mov         si, shot_name_fat
1821
174C: B9 0B 00                               mov         cx, 11
1822
174F: AC                                     lodsb
1823
1750: AA                                     stosb
1824
1751: E2 FC                                  loop        @b
1825
1753: 31 C0                                  xor         ax, ax
1826
1755: B4 08                                  mov         ah, ATTR_VOLUME_ID
1827
1757: 26 89 05                               mov         word [ es : di ], ax
1828
175A: 83 C7 02                               add         di, 2
1829
175D: 26 C6 05 64                            mov         byte [ es : di ], 100
1830
1761: 47                                     inc         di
1831
1762: 26 C7 05 2B 03                         mov         word [ es : di ], 0x032b
1832
1767: 83 C7 02                               add         di, 2
1833
176A: 26 C7 05 00 00                         mov         word [ es : di ], 0x0
1834
176F: 83 C7 02                               add         di, 2
1835
1772: 26 C7 05 2B 03                         mov         word [ es : di ], 0x032b
1836
1777: 83 C7 02                               add         di, 2
1837
177A: 26 C7 05 00 00                         mov         word [ es : di ], 0x0
1838
177F: 83 C7 02                               add         di, 2
1839
1782: 26 C7 05 00 00                         mov         word [ es : di ], 0x0
1840
1787: 83 C7 02                               add         di, 2
1841
178A: 26 C7 05 2B 03                         mov         word [ es : di ], 0x032b
1842
178F: 83 C7 02                               add         di, 2
1843
1792: 8B 46 B2                               mov         ax, point_next_fat_str
1844
1795: 26 89 05                               mov         word [ es : di ], ax
1845
1798: 83 C7 02                               add         di, 2
1846
179B: 57                                     push        di
1847
179C: 89 C3                                  mov         bx, ax
1848
179E: D1 EB                                  shr         bx, 1
1849
17A0: 01 D8                                  add         ax, bx
1850
17A2: 8B 1E 87 1A                            mov         bx, word [ fat12_buffer.BPB_BytsPerSec ]
1851
17A6: 99                                     cwd
1852
17A7: F7 FB                                  idiv        bx
1853
17A9: 89 C6                                  mov         si, ax
1854
17AB: 66 0F B7 06 87 1A                      movzx       eax, word [ fat12_buffer.BPB_BytsPerSec ]
1855
17B1: 66 0F B6 1E 89 1A                      movzx       ebx, byte [ fat12_buffer.BPB_SecPerClus ]
1856
17B7: 66 0F AF C3                            imul        eax, ebx
1857
17BB: 66 8B 5E B6                            mov         ebx, save_file_size
1858
17BF: 66 29 C3                               sub         ebx, eax
1859
17C2: 66 39 C3                               cmp         ebx, eax
1860
17C5: 76 29                                  jbe         .eof_file?1US
1861
17C7: FF 46 B2                               inc         point_next_fat_str
1862
17CA: 8B 4E B2                               mov         cx, point_next_fat_str
1863
17CD: 89 C2                                  mov         dx, ax
1864
17CF: D1 EA                                  shr         dx, 1
1865
17D1: 01 D1                                  add         cx, dx
1866
17D3: F7 C6 01 00                            test        si, 0x1
1867
17D7: 74 0B                                  jz          .step2?1UP
1868
17D9: C1 E1 04                               shl         cx, 4
1869
17DC: 26 89 0C                               mov         word [ es : si ], cx
1870
17DF: 46                                     inc         si
1871
17E0: 01 C1                                  add         cx, ax
1872
17E2: EB DB                                  jmp         @b
1873
17E4: 81 E1 FF 0F                            and         cx, 0x0FFF
1874
17E8: 26 89 0C                               mov         word [ es : si ], cx
1875
17EB: 46                                     inc         si
1876
17EC: 01 C1                                  add         cx, ax
1877
17EE: EB CF                                  jmp         @b
1878
17F0: B9 FF 0F                               mov         cx, 0x0fff
1879
17F3: F7 C6 01 00                            test        si, 0x1
1880
17F7: 74 08                                  jz          .step3?1UQ
1881
17F9: C1 E1 04                               shl         cx, 4
1882
17FC: 26 89 0C                               mov         word [ es : si ], cx
1883
17FF: EB 07                                  jmp         .end?1UR
1884
1801: 81 E1 FF 0F                            and         cx, 0x0FFF
1885
1805: 26 89 0C                               mov         word [ es : si ], cx
1886
1808: FF 46 B2                               inc         point_next_fat_str
1887
180B: 5F                                     pop         di
1888
180C: 66 8B 46 B6                            mov         eax, save_file_size
1889
1810: 26 66 89 05                            mov         dword [ es : di ], eax
1890
1814: 66 60                                  pushad
1891
1816: 8B 7E AE                               mov         di, firstDataSect
1892
1819: 2B 7E B0                               sub         di, size_root_dir
1893
181C: C1 E7 09                               shl         di, 9
1894
181F: 03 7E AA                               add         di, point_to_free_root
1895
1822: BE C6 1A                               mov         si, dest_name_fat
1896
1825: B9 0B 00                               mov         cx, 11
1897
1828: 26 8A 05                               mov         al, byte [ es : di ]
1898
182B: 47                                     inc         di
1899
182C: 88 04                                  mov         byte [ ds : si ], al
1900
182E: 46                                     inc         si
1901
182F: E2 F7                                  loop        @b
1902
1831: 31 C0                                  xor         ax, ax
1903
1833: 88 04                                  mov         byte [ si ], al
1904
1835: BE C6 1A                               mov         si, dest_name_fat
1905
1838: E8 09 F0                               call        printplain
1906
183B: 66 61                                  popad
1907
183D: 83 46 AA 20                            add         point_to_free_root, 32
1908
1841: 07                                     pop         es
1909
1842: 8B 46 C4                               mov         ax, info_real_mode_size
1910
1845: BE 3C 1A                               mov         si, table_15_87
1911
1848: 89 44 12                               mov         word [ si + 8 * 2 + 2 ], ax
1912
184B: 66 0F B7 46 AE                         movzx       eax, firstDataSect
1913
1850: 66 0F B7 56 A6                         movzx       edx, data_offset
1914
1855: 66 01 D0                               add         eax, edx
1915
1858: 66 0F B7 1E 87 1A                      movzx       ebx, word [ fat12_buffer.BPB_BytsPerSec ]
1916
185E: 66 0F B6 16 89 1A                      movzx       edx, byte [ fat12_buffer.BPB_SecPerClus ]
1917
1864: 0F AF DA                               imul        bx, dx
1918
1867: 66 53                                  push        ebx
1919
1869: 66 0F AF C3                            imul        eax, ebx
1920
186D: 60                                     pusha
1921
186E: B9 0A 00                               mov         cx, 0x0a
1922
1871: BF 07 04                               mov         di, show_db1
1923
1874: E8 AE EF                               call        decode
1924
1877: BE 07 04                               mov         si, show_db1
1925
187A: E8 C7 EF                               call        printplain
1926
187D: 61                                     popa
1927
187E: B2 10                                  mov         dl, 0x10
1928
1880: 66 3D 00 00 01 00                      cmp         eax, 0x00010000
1929
1886: 72 0A                                  jb          @f
1930
1888: 66 2D 00 00 01 00                      sub         eax, 0x00010000
1931
188E: FE C2                                  inc         dl
1932
1890: EB EE                                  jmp         @b
1933
1892: 88 54 1B                               mov         byte [ si + 8 * 3 + 3 ], dl
1934
1895: 89 44 1A                               mov         word [ si + 8 * 3 + 2 ], ax
1935
1898: 66 8B 4E B6                            mov         ecx, save_file_size
1936
189C: 66 81 F9 FF FF 00 00                   cmp         ecx, 0x0000ffff
1937
18A3: 76 0A                                  jbe         .correct_on_byte?1cJ
1938
18A5: 66 B9 00 00 01 00                      mov         ecx, 0x00010000
1939
18AB: 66 29 4E B6                            sub         save_file_size, ecx
1940
18AF: 66 58                                  pop         eax
1941
18B1: 66 51                                  push        ecx
1942
18B3: FF 46 A6                               inc         data_offset
1943
18B6: 66 39 C8                               cmp         eax, ecx
1944
18B9: 73 05                                  jae         @f
1945
18BB: 66 29 C1                               sub         ecx, eax
1946
18BE: EB F3                                  jmp         @b
1947
18C0: 66 59                                  pop         ecx
1948
18C2: 66 F7 C1 01 00 00 00                   test        ecx, 0x1
1949
18C9: 74 02                                  jz          .st1?1cI
1950
18CB: 66 41                                  inc         ecx
1951
18CD: 66 D1 E9                               shr         ecx, 1
1952
18D0: 06                                     push        es
1953
18D1: 1E                                     push        ds
1954
18D2: 07                                     pop         es
1955
18D3: B4 87                                  mov         ah, 0x87
1956
18D5: CD 15                                  int         0x15
1957
18D7: 07                                     pop         es
1958
18D8: 60                                     pusha
1959
18D9: B9 0A 00                               mov         cx, 0x0a
1960
18DC: BF 46 07                               mov         di, return_code_af_move
1961
18DF: E8 43 EF                               call        decode
1962
18E2: BE 46 07                               mov         si, return_code_af_move
1963
18E5: E8 5C EF                               call        printplain
1964
18E8: 61                                     popa
1965
18E9: 83 7E 9E 01                            cmp         status_flag_loader_f, 0x1
1966
18ED: 75 00                                  jnz         @f
1967
18EF: 8B 7E A2                               mov         di, save_di_RAMDISK
1968
18F2: 8B 4E A0                               mov         cx, save_cx_RAMDISK
1969
18F5: 60                                     pusha
1970
18F6: 31 C0                                  xor         ax, ax
1971
18F8: CD 16                                  int         0x16
1972
18FA: 61                                     popa
1973
18FB: E9 4B FC                               jmp         .start_loop?1D1
1974
18FE: 89 C7                                  mov         di, ax
1975
1900: 89 D9                                  mov         cx, bx
1976
1902: E9 44 FC                               jmp         .start_loop?1D1
1977
1905: 8B 46 C4                               mov         ax, info_real_mode_size
1978
1908: 05 00 10                               add         ax, 0x1000
1979
190B: BE 3C 1A                               mov         si, table_15_87
1980
190E: 89 44 12                               mov         word [ si + 8 * 2 + 2 ], ax
1981
1911: B8 00 02                               mov         ax, 512
1982
1914: 89 44 1A                               mov         word [ si + 8 * 3 + 2 ], ax
1983
1917: 66 0F B7 0E 92 1A                      movzx       ecx, word [ fat12_buffer.BPB_FATSz16 ]
1984
191D: 0F B6 1E 8C 1A                         movzx       bx, byte [ fat12_buffer.BPB_NumFATs ]
1985
1922: 0F AF CB                               imul        cx, bx
1986
1925: 03 4E B0                               add         cx, size_root_dir
1987
1928: 66 C1 E1 09                            shl         ecx, 9
1988
192C: 66 F7 C1 01 00 00 00                   test        ecx, 0x1
1989
1933: 74 02                                  jz          .st1?1ho
1990
1935: 66 41                                  inc         ecx
1991
1937: 66 D1 E9                               shr         ecx, 1
1992
193A: 06                                     push        es
1993
193B: 1E                                     push        ds
1994
193C: 07                                     pop         es
1995
193D: B4 87                                  mov         ah, 0x87
1996
193F: CD 15                                  int         0x15
1997
1941: 07                                     pop         es
1998
1942: 60                                     pusha
1999
1943: B9 0A 00                               mov         cx, 0x0a
2000
1946: BF 77 07                               mov         di, return_code_af_fat_m
2001
1949: E8 D9 EE                               call        decode
2002
194C: BE 77 07                               mov         si, return_code_af_fat_m
2003
194F: E8 F2 EE                               call        printplain
2004
1952: 61                                     popa
2005
1953: 60                                     pusha
2006
1954: B9 0A 00                               mov         cx, 0x0a
2007
1957: BF 07 04                               mov         di, show_db1
2008
195A: E8 C8 EE                               call        decode
2009
195D: BE 07 04                               mov         si, show_db1
2010
1960: E8 E1 EE                               call        printplain
2011
1963: 61                                     popa
2012
1964: 60                                     pusha
2013
1965: BE 21 07                               mov         si, make_fat12_RFS_msg
2014
1968: E8 D9 EE                               call        printplain
2015
196B: 61                                     popa
2016
196C: EB 1F                                  jmp         ._end_parse_FRS
2017
196E: 89 D9                                  mov         cx, bx
2018
1970: 89 C7                                  mov         di, ax
2019
1972: BE 0B 08                               mov         si, parse_RFS_KRFS
2020
1975: B9 04 00                               mov         cx, parse_RFS_KRFS_e - parse_RFS_KRFS
2021
1978: F3                                     repe
2022
1979: A6                                     cmpsb
2023
197A: EB 11                                  jmp         ._end_parse_FRS
2024
197C: 89 D9                                  mov         cx, bx
2025
197E: 89 C7                                  mov         di, ax
2026
1980: E9 A4 F8                               jmp         .start_g_tpe_RFS
2027
1983: 83 4E C0 01                            or          show_errors_sect, show_error_1
2028
1987: EB 04                                  jmp         ._end_parse_FRS
2029
1989: 83 4E C0 02                            or          show_errors_sect, show_error_2
2030
198D: 60                                     pusha
2031
198E: BE 34 07                               mov         si, get_type_FS_msg
2032
1991: E8 B0 EE                               call        printplain
2033
1994: 61                                     popa
2034
1995: 31 C0                                  xor         ax, ax
2035
1997: CD 16                                  int         0x16
2036
1999: 8B 7E F4                               mov         di, point_default
2037
199C: 8B 4E FA                               mov         cx, save_cx_d
2038
199F: E8 D1 EE                               call        get_firs_sym
2039
19A2: 85 C9                                  test        cx, cx
2040
19A4: 0F 84 8E 00                            jz          ._afterLoaderModule
2041
19A8: 3C 4C                                  cmp         al, 'L'
2042
19AA: 75 F3                                  jnz         .start_p_LM
2043
19AC: 89 CB                                  mov         bx, cx
2044
19AE: 89 F8                                  mov         ax, di
2045
19B0: BE CD 07                               mov         si, parse_LoaderModule
2046
19B3: B9 0C 00                               mov         cx, parse_LoaderModule_e - parse_LoaderModule
2047
19B6: F3                                     repe
2048
19B7: A6                                     cmpsb
2049
19B8: 75 75                                  jnz         .rest_value_loop_LM
2050
19BA: 83 EB 0C                               sub         bx, parse_LoaderModule_e - parse_LoaderModule
2051
19BD: 01 CB                                  add         bx, cx
2052
19BF: 89 D9                                  mov         cx, bx
2053
19C1: F7 46 F8 01 00                         test        status_flag, flag_found_LM
2054
19C6: 74 00                                  jz          .correct_is_not_set_LM
2055
19C8: B8 20 3D                               mov         ax, 0x3d20
2056
19CB: F3                                     repe
2057
19CC: AE                                     scasb
2058
19CD: E3 60                                  jcxz        .rest_value_loop_LM
2059
19CF: 26 3A 65 FF                            cmp         ah, byte [ es : di - 1 ]
2060
19D3: 75 5A                                  jnz         .rest_value_loop_LM
2061
19D5: F3                                     repe
2062
19D6: AE                                     scasb
2063
19D7: 41                                     inc         cx
2064
19D8: 4F                                     dec         di
2065
19D9: 26 66 FF 75 FA                         push        dword [ es : di - 6 ]
2066
19DE: 8D 75 FA                               lea         si, [ di - 6 ]
2067
19E1: 26 FF 75 FE                            push        word [ es : di - 2 ]
2068
19E5: 31 C0                                  xor         ax, ax
2069
19E7: 26 89 45 FA                            mov         word [ es : di - 6 ], ax
2070
19EB: 8B 46 C4                               mov         ax, info_real_mode_size
2071
19EE: 26 89 45 FC                            mov         word [ es : di - 4 ], ax
2072
19F2: 26 C7 45 FE 10 00                      mov         word [ es : di - 2 ], 16
2073
19F8: 26 8A 05                               mov         al, byte [ es : di ]
2074
19FB: 3C 20                                  cmp         al, ' '
2075
19FD: 74 0C                                  jz          .found_end_str?1mb
2076
19FF: 3C 0A                                  cmp         al, 0xa
2077
1A01: 74 08                                  jz          .found_end_str?1mb
2078
1A03: 3C 0D                                  cmp         al, 0xd
2079
1A05: 74 04                                  jz          .found_end_str?1mb
2080
1A07: 47                                     inc         di
2081
1A08: 49                                     dec         cx
2082
1A09: 75 ED                                  jnz         @b
2083
1A0B: 26 FF 35                               push        word [ es : di ]
2084
1A0E: 31 C0                                  xor         ax, ax
2085
1A10: 26 89 05                               mov         word [ es : di ], ax
2086
1A13: 89 F7                                  mov         di, si
2087
1A15: 40                                     inc         ax
2088
1A16: 56                                     push        si
2089
1A17: 06                                     push        es
2090
1A18: 06                                     push        es
2091
1A19: 1F                                     pop         ds
2092
1A1A: 0E                                     push        cs
2093
1A1B: 07                                     pop         es
2094
1A1C: 26 FF 1E DC 0A                         call        far dword [ es : loader_callback ]
2095
1A21: 0E                                     push        cs
2096
1A22: 1F                                     pop         ds
2097
1A23: 07                                     pop         es
2098
1A24: 5E                                     pop         si
2099
1A25: 85 DB                                  test        bx, bx
2100
1A27: 75 03                                  jnz         .error_LM
2101
1A29: 26 FF 2C                               jmp         far dword [ es : si ]
2102
1A2C: E8 91 F0                               call        error.LoaderModule
2103
1A2F: 89 C7                                  mov         di, ax
2104
1A31: 89 D9                                  mov         cx, bx
2105
1A33: E9 69 FF                               jmp         .start_p_LM
2106
1A36: EB FE                                  jmp         $
2107
1A38: E9 6A F1                               jmp         ini_loaded
2108
1A3C: 00 00 00 00 00 00 00 00                db 0x00, 0x00, 0x0, 0x00, 0x00, 0x00, 0x0, 0x0
2109
1A44: 00 00 00 00 00 00 00 00                db 0x00, 0x00, 0x0, 0x00, 0x00, 0x00, 0x0, 0x0
2110
1A4C: FF FF                                  db 0xff, 0xff
2111
1A4E: 00 10                                  db 0x0, 0x10
2112
1A50: 00 93 00 00                            db 0x00, 0x93, 0x0, 0x0
2113
1A54: FF FF 00 00 10 93 00 00                db 0xff, 0xff, 0x0, 0x00, 0x10, 0x93, 0x0, 0x0
2114
1A5C: 00 00 00 00 00 00 00 00                db 0x00, 0x00, 0x0, 0x00, 0x00, 0x00, 0x0, 0x0
2115
1A64: 00 00 00 00 00 00 00 00                db 0x00, 0x00, 0x0, 0x00, 0x00, 0x00, 0x0, 0x0
2116
1A6C: 00 00 00 00 00 00 00 00                db 0x00, 0x00, 0x0, 0x00, 0x00, 0x00, 0x0, 0x0
2117
1A74: 00 00 00 00 00 00 00 00                db 0x00, 0x00, 0x0, 0x00, 0x00, 0x00, 0x0, 0x0
2118
1A7C: 90 90 90                               .BS_jmpBoot db 0x90, 0x90, 0x90
2119
1A7F: 4B 20 53 79 53 20 36 34                .BS_OEMName db 'K SyS 64'
2120
1A87: 00 02                                  .BPB_BytsPerSec dw 512
2121
1A89: 01                                     .BPB_SecPerClus db 0x1
2122
1A8A: 01 00                                  .BPB_RsvdSecCnt dw 0x1
2123
1A8C: 01                                     .BPB_NumFATs db 0x1
2124
1A8D: 00 02                                  .BPB_RootEntCnt dw 512
2125
1A8F: 00 00                                  .BPB_TotSec16 dw 0x0
2126
1A91: F0                                     .BPB_Media db 0xF0
2127
1A92: 00 00                                  .BPB_FATSz16 dw 0x0
2128
1A94: 00 00                                  .BPB_SecPerTrk dw 0x0
2129
1A96: 00 00                                  .BPB_NumHeads dw 0x0
2130
1A98: 00 00 00 00                            .BPB_HiddSec dd 0x0
2131
1A9C: 00 00 00 00                            .BPB_TotSec32 dd 0x0
2132
1AA0: 52                                     .BS_DrvNum db 'R'
2133
1AA1: 00                                     .BS_Reserved1 db 0x0
2134
1AA2: 29                                     .BS_BootSig db 0x29
2135
1AA3: 52 46 4B 53                            .BS_VolID db 'RFKS'
2136
1AA7: 52 41 4D 20 44 49 53 4B 20 46 53       .BS_VolLab db 'RAM DISK FS'
2137
1AB2: 46 41 54 31 32 20 20 20                .BS_FilSysType db 'FAT12   '
2138
1ABA:                                        shot_name_fat rb 11
2139
1AC5:                                        rb 1
2140
1AC6:                                        dest_name_fat rb 12
2141
1AD2:                                        value_timeout rw 1
2142
1AD4:                                        old_timer rd 1
2143
1AD8:                                        start_timer rd 1
2144
1ADC:                                        timer_ rd 1
2145
1AE0:                                        start_stack rw 1
2146
1AE2:                                        save_bp_from_timer rw 1
2147
3 passes, 0.8 seconds, 6842 bytes.