Subversion Repositories Kolibri OS

Rev

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

  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
  908. 0E5F: B0 C4                                  mov         al, 0xC4
  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.
  2148.