Subversion Repositories Kolibri OS

Rev

Rev 2616 | Rev 5684 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. key:
  2.     mcall 2
  3.     cmp   [extended_key],1
  4.     je    .extended_key
  5.     test  al, al
  6.     jnz   still
  7.     cmp   ah, 0xE0
  8.     jne   @f
  9.     mov   [extended_key],1
  10.     jmp   still
  11. @@:
  12.     cmp   ah,15
  13.     jne   .no_tab
  14.     inc   [select_panel_counter]
  15.     and   [select_panel_counter],1b
  16.     call  draw_left_panel
  17.     call  draw_right_panel
  18.     jmp   still
  19. .no_tab:
  20.     cmp   ah,72   ; arrow up
  21.     je    key_72.1
  22.     cmp   ah,80   ; arrow down
  23.     je    key_80.1
  24.     cmp   ah,28   ; Enter
  25.     je    key_28.1
  26.     cmp   ah,17   ; W
  27.     je    set_background
  28.     cmp   ah,19   ; R
  29.     je    reload_dir_1
  30.     cmp   ah,42
  31.     je    key_shift_up
  32.     cmp   ah,54
  33.     je    key_shift_up
  34.     cmp   ah,142
  35.     je    exit_dir_1    ; BackSpace Up
  36.     cmp   ah,170
  37.     je    key_shift_down
  38.     cmp   ah,182
  39.     je    key_shift_down
  40.     cmp   ah,29
  41.     je    key_ctrl_up.1
  42.     cmp   ah,157
  43.     je    key_ctrl_down.1
  44.     cmp   ah,56
  45.     je    key_alt_up.1
  46.     cmp   ah,184
  47.     je    key_alt_down.1
  48.     cmp   ah,206 ; NumPad+ Up
  49.     je    NumPad_plus_Up
  50.     cmp   ah,202 ; NumPad- Up
  51.     je    NumPad_minus_Up
  52.     cmp   ah,183 ; NumPad* Up
  53.     je    NumPad_sneg_Up
  54.     cmp   ah,158
  55.     je    symbol_a_up
  56.     cmp   ah,59    ; down F1
  57.     je    f_key_f1
  58.     cmp   ah,60    ; down F2
  59.     je    f_key_f2
  60.     cmp   ah,61    ; down F3
  61.     je    f_key_f3 ;sort_name
  62.     cmp   ah,62    ; down F4
  63.     je    f_key_f4 ;sort_type
  64.     cmp   ah,63    ; down F5
  65.     je    f_key_f5 ;sort_size
  66.     cmp   ah,64    ; down F6
  67.     je    f_key_f6 ; sort_date
  68.     cmp   ah,65    ; down F7
  69.     je    f_key_f7 ;
  70.     cmp   ah,66    ; down F8
  71.     je    f_key_f8 ; delete_file
  72.     cmp   ah,88    ; down F12
  73.     je    f_key_f12
  74.     jmp  still
  75. ;-------------------------------------------------------------
  76. .extended_key:
  77.     mov  [extended_key],0
  78. key_80:
  79.     cmp  ah,80  ; arrow down
  80.     jne  key_72
  81. .1:
  82.     cmp  [select_panel_counter],0
  83.     jne  .right_1
  84.     mov  eax,[left_folder_block]
  85.     dec  eax
  86.     imul eax,10
  87.     cmp  ax,[left_start_draw_cursor_line]
  88.     jbe  .marked_action   ;still
  89.     mov  ax,[left_start_draw_cursor_line]
  90.     add  ax,10
  91.     cmp  ax,[left_panel_y_correct_size_y]
  92.     jae  @f
  93. .add_1:
  94.     add  [left_start_draw_cursor_line],10
  95.     call draw_left_panel_selection
  96.     mov  [drawing_panel_folder],1
  97. .all:
  98.     sub  ecx,10 shl 16
  99.     mov  edx,0xffffff
  100.         mcall
  101.     mov  [not_clear_lines],1
  102.     call draw_folder_data
  103.     mov  [not_clear_lines],0
  104.     jmp  still
  105. .marked_action:
  106.     cmp  [marked_action],0
  107.     je   still
  108.     mov  [marked_action],0
  109.     call draw_left_panel
  110.     jmp  still
  111. .marked_action_1:
  112.     cmp  [marked_action],0
  113.     je   still
  114.     mov  [marked_action],0
  115.     call draw_right_panel
  116.     jmp  still
  117. @@:
  118.     mov  eax,[left_folder_block]
  119.     sub  eax,[max_panel_line]
  120.     test eax,0x80000000
  121.     jz   @f
  122.     xor  eax,eax
  123. @@:
  124.     cmp  [marked_action],0
  125.     jne   @f
  126.     cmp  [left_start_draw_line],eax
  127.     je   still
  128. @@:
  129.     mov  [marked_action],0
  130.     inc  [left_start_draw_line]
  131.     call draw_left_panel
  132.     jmp  still
  133. .right_1:
  134.     mov  eax,[right_folder_block]
  135.     dec  eax
  136.     imul eax,10
  137.     cmp  ax,[right_start_draw_cursor_line]
  138.     jbe  .marked_action_1   ;still
  139.     mov  ax,[right_start_draw_cursor_line]
  140.     add  ax,10
  141.     cmp  ax,[right_panel_y_correct_size_y]
  142.     jae  @f
  143. .add_2:
  144.     add  [right_start_draw_cursor_line],10
  145.     call draw_right_panel_selection
  146.     mov  [drawing_panel_folder],2
  147.     jmp  key_80.all
  148. @@:
  149.     mov  eax,[right_folder_block]
  150.     sub  eax,[max_panel_line]
  151.     test eax,0x80000000
  152.     jz   @f
  153.     xor  eax,eax
  154. @@:
  155.     cmp  [marked_action],0
  156.     jne  @f
  157.     cmp  [right_start_draw_line],eax
  158.     je   still
  159. @@:
  160.     mov  [marked_action],0
  161.     inc  [right_start_draw_line]
  162.     call draw_right_panel
  163.     jmp  still
  164. ;-------------------------------------------------------------
  165. key_72:
  166.     cmp  ah,72  ;arrow up
  167.     jne  key_81
  168. .1:
  169.     cmp  [select_panel_counter],0
  170.     jne  .right_1
  171.     mov  ax,[left_start_draw_cursor_line]
  172.     add  ax,[left_panel_y.start_y]
  173.     cmp  [left_panel_y.start_y],ax
  174.     je   @f
  175.     sub  [left_start_draw_cursor_line],10
  176.     call draw_left_panel_selection
  177.     mov  [drawing_panel_folder],1
  178. .all:    
  179.     add  ecx,10 shl 16
  180.     mov  edx,0xffffff
  181.         mcall
  182.     mov  [not_clear_lines],1
  183.     call draw_folder_data
  184.     mov  [not_clear_lines],0
  185.     jmp  still
  186. @@:
  187.     cmp  [left_start_draw_line],0
  188.     je   still
  189.     dec  [left_start_draw_line]
  190.     call draw_left_panel
  191.     jmp  still
  192. .right_1:
  193.     mov  ax,[right_start_draw_cursor_line]
  194.     add  ax,[right_panel_y.start_y]
  195.     cmp  [right_panel_y.start_y],ax
  196.     je   @f
  197.     sub  [right_start_draw_cursor_line],10
  198.     call draw_right_panel_selection
  199.     mov  [drawing_panel_folder],2
  200.     jmp  key_72.all
  201. @@:
  202.     cmp  [right_start_draw_line],0
  203.     je   still
  204.     dec  [right_start_draw_line]
  205.     call draw_right_panel
  206.     jmp  still
  207. ;-------------------------------------------------------------
  208. key_81:
  209.     cmp  ah,81 ; PageDown
  210.     jne  key_73
  211.     mov  eax,[max_panel_line]
  212.     cmp  [select_panel_counter],0
  213.     jne  .right_1
  214.     mov  ebx,[left_folder_block]
  215.     sub  ebx,eax
  216.     test ebx,0x80000000
  217.     jnz  .left_2
  218.     sub  ebx,[left_start_draw_line]
  219.     cmp  ebx,eax
  220.     ja  .ok_1
  221.     mov  ebx,[left_folder_block]
  222.     sub  ebx,eax
  223.     call prepare_data_left_down
  224.     ja   @f
  225.     cmp  ebx,[left_start_draw_line]
  226.     je   still
  227. @@:
  228.     mov  [left_start_draw_line],ebx
  229. .left_3:
  230.     dec  eax
  231.     imul eax,10
  232. .left_1:
  233.     mov  [left_start_draw_cursor_line],ax
  234.     call draw_left_panel
  235.     jmp  still
  236. .left_2:
  237.     mov  eax,[left_folder_block]
  238.     sub  eax,[left_start_draw_line]
  239.     dec  eax
  240.     imul eax,10
  241.     cmp  ax,[left_start_draw_cursor_line]
  242.     jbe  still
  243.     jmp  .left_1
  244. .ok_1:
  245.     add  [left_start_draw_line],eax
  246.     call draw_left_panel
  247.     jmp  still
  248. .right_1:
  249.     mov  ebx,[right_folder_block]
  250.     sub  ebx,eax
  251.     test ebx,0x80000000
  252.     jnz  .right_3
  253.     sub  ebx,[right_start_draw_line]
  254.     cmp  ebx,eax
  255.     jae  .ok_2
  256.     mov  ebx,[right_folder_block]
  257.     sub  ebx,eax
  258.     call prepare_data_right_down
  259.     ja   @f
  260.     cmp  ebx,[right_start_draw_line]
  261.     je   still
  262. @@:
  263.     mov  [right_start_draw_line],ebx
  264. .right_4:
  265.     dec  eax
  266.     imul eax,10
  267. .right_2:
  268.     mov  [right_start_draw_cursor_line],ax
  269.     call draw_right_panel
  270.     jmp  still
  271. .right_3:
  272.     mov  eax,[right_folder_block]
  273.     sub  eax,[right_start_draw_line]
  274.     dec  eax
  275.     imul eax,10
  276.     cmp  ax,[right_start_draw_cursor_line]
  277.     jbe  still
  278.     jmp  .right_2
  279. .ok_2:
  280.     add  [right_start_draw_line],eax
  281.     call draw_right_panel
  282.     jmp  still
  283. ;-------------------------------------------------------------    
  284. prepare_data_right_down:
  285.     mov  ecx,[right_folder_block]
  286.     sub  ecx,[right_start_draw_line]
  287.     dec  ecx
  288.     imul ecx,10
  289.     cmp  cx,[right_start_draw_cursor_line]
  290.     ret
  291. ;-------------------------------------------------------------    
  292. prepare_data_left_down:
  293.     mov  ecx,[left_folder_block]
  294.     sub  ecx,[left_start_draw_line]
  295.     dec  ecx
  296.     imul ecx,10
  297.     cmp  cx,[left_start_draw_cursor_line]
  298.     ret
  299. ;-------------------------------------------------------------
  300. key_73:
  301.     cmp  ah,73 ; PageUp
  302.     jne  key_71
  303.     mov  eax,[max_panel_line]
  304.     cmp  [select_panel_counter],0
  305.     jne  .right_1
  306.     mov  ebx,[left_start_draw_line]
  307.     sub  ebx,eax
  308.     test ebx,0x8000000
  309.     jz   @f
  310.     cmp  [left_start_draw_line],0
  311.     jne  .draw_line_1
  312.     cmp  [left_start_draw_cursor_line],0
  313.     je   still
  314.     mov  [left_start_draw_cursor_line],0
  315. .draw_line_1:
  316.     mov  [left_start_draw_line],0
  317.     call draw_left_panel
  318.     jmp  still
  319. @@:
  320.     sub  [left_start_draw_line],eax
  321.     call draw_left_panel
  322.     jmp  still
  323. .right_1:
  324.     mov  ebx,[right_start_draw_line]
  325.     sub  ebx,eax
  326.     test ebx,0x80000000
  327.     jz   @f
  328.     cmp  [right_start_draw_line],0
  329.     jne  .draw_line_2
  330.     cmp  [right_start_draw_cursor_line],0
  331.     je   still
  332.     mov  [right_start_draw_cursor_line],0
  333. .draw_line_2:
  334.     mov  [right_start_draw_line],0
  335.     call draw_right_panel
  336.     jmp  still
  337. @@:
  338.     sub  [right_start_draw_line],eax
  339.     call draw_right_panel
  340.     jmp  still
  341. ;-------------------------------------------------------------
  342. key_71:
  343.     cmp  ah,71 ; Home
  344.     jne  key_79
  345.     cmp  [select_panel_counter],0
  346.     jne  .right_1
  347.     cmp  [left_start_draw_line],0
  348.     jne   .draw_left_panel
  349.     cmp  [left_start_draw_cursor_line],0
  350.     je   still
  351. .draw_left_panel:
  352.     mov  [left_start_draw_line],0
  353.     mov  [left_start_draw_cursor_line],0
  354.     call draw_left_panel
  355.     jmp  still
  356. .right_1:
  357.     cmp  [right_start_draw_line],0
  358.     jne   .draw_right_panel
  359.     cmp  [right_start_draw_cursor_line],0
  360.     je   still
  361. .draw_right_panel:
  362.     mov  [right_start_draw_line],0
  363.     mov  [right_start_draw_cursor_line],0
  364.     call draw_right_panel
  365.     jmp  still
  366. ;-------------------------------------------------------------
  367. key_79:
  368.     cmp  ah,79 ; End
  369.     jne  key_28
  370.     cmp  [select_panel_counter],0
  371.     jne  .right_1
  372.     mov  eax,[left_folder_block]
  373.     sub  eax,[max_panel_line]
  374.     test eax,0x80000000
  375.     jnz  key_81.left_2
  376.     call prepare_data_left_down
  377.     ja   @f
  378.     cmp  eax,[left_start_draw_line]
  379.     je   still
  380. @@:
  381.     mov  [left_start_draw_line],eax
  382.     mov  eax,[max_panel_line]
  383.     jmp  key_81.left_3
  384. .right_1:
  385.     mov  eax,[right_folder_block]
  386.     sub  eax,[max_panel_line]
  387.     test eax,0x80000000
  388.     jnz  key_81.right_3
  389.     call prepare_data_right_down
  390.     ja   @f
  391.     cmp  eax,[right_start_draw_line]
  392.     je   still
  393. @@:
  394.     mov  [right_start_draw_line],eax
  395.     mov  eax,[max_panel_line]
  396.     jmp  key_81.right_4    
  397. ;-------------------------------------------------------------
  398. key_28:
  399.     cmp  ah,28 ; Enter
  400.     jne  key_ctrl_up
  401. .1:
  402.     cmp  [shift_flag],1
  403.     je   still
  404.     cmp  [ctrl_flag],1
  405.     je   still
  406.     cmp  [alt_flag],1
  407.     je   files_information
  408.    
  409.     mov  [open_param],0
  410. .2:
  411.     cmp  [select_panel_counter],0
  412.     jne  .right_1
  413.     mov  ebp,read_folder_name    ;read_folder.name
  414.     call  calculate_left_data_1
  415.     add  esi,32
  416.     cmp  [exit_dir],1
  417.     je   .up_patch
  418.     test [esi],byte 0x10
  419.     jz   file_no_folder
  420.     cmp  [open_param],0
  421.     jne  still
  422.     cmp  [esi+40],word 2Eh
  423.     je   still
  424.     cmp  [esi+40],word '..'
  425.     je   .up_patch
  426.     call calculate_key_28_1
  427.     mov  [left_start_draw_cursor_line],0
  428.     mov  [left_start_draw_line],0
  429.     jmp  proc_read_folder
  430. .up_patch:
  431.     call calculate_key_28_2
  432.     jmp  proc_read_folder
  433. .right_1:
  434.     mov  ebp,read_folder_1_name   ;read_folder_1.name
  435.     call calculate_right_data_1
  436.     add  esi,32
  437.     cmp  [exit_dir],1
  438.     je   .up_patch_1
  439.     test [esi],byte 0x10
  440.     jz   file_no_folder
  441.     cmp  [esi+40],word 2Eh
  442.     je   still
  443.     cmp  [esi+40],word '..'
  444.     je   .up_patch_1
  445.     call calculate_key_28_1
  446.     mov  [right_start_draw_cursor_line],0
  447.     mov  [right_start_draw_line],0
  448.     jmp  proc_read_folder_1
  449. .up_patch_1:
  450.     call calculate_key_28_2
  451.     jmp  proc_read_folder_1
  452. ;---------------------------------------------------------------------
  453. calculate_key_28_1:    
  454. ;    mov  edi,read_folder.name-1
  455.     mov  edi,ebp
  456.     dec  edi
  457.     inc  ebp
  458. @@:
  459.     inc  edi
  460.     cmp  [edi],byte 0
  461.     jne  @r
  462.     cmp  edi,ebp ;read_folder.name+1
  463.     je   @f
  464.     mov  al,'/'
  465.     mov [edi],al
  466.     inc  edi
  467. @@:
  468.     add  esi,40
  469. @@:
  470.     cld
  471.     lodsb
  472.     stosb
  473.     cmp al,0
  474.     jnz   @r
  475.     ret
  476. ;---------------------------------------------------------------------
  477. calculate_key_28_2:
  478.     mov  [exit_dir],0
  479.     mov  edi,ebp ;read_folder.name
  480. @@:
  481.     inc  edi
  482.     cmp  [edi],byte 0
  483.     jne  @r
  484.     mov  [extension_size],edi
  485.     dec  edi
  486. @@:
  487.     dec  edi
  488.     cmp  [edi],byte '/'
  489.     jne  @r
  490.     mov  eax,ebp ;read_folder.name
  491.     cmp  edi,eax
  492.     jbe  @f
  493.     mov  [edi],byte 0
  494. @@:
  495.     inc  edi
  496.     mov  [temp_counter_dword],edi
  497.     dec  edi
  498.     sub  [extension_size],edi
  499.     mov  [search_pre_folder],1
  500.     ret
  501. ;---------------------------------------------------------------------
  502. set_background:
  503.     cmp  [shift_flag],1
  504.     je   .shift
  505.     cmp  [ctrl_flag],1
  506.     jne  still
  507.     mov  [open_param],background_stretch
  508.     jmp  key_28.2
  509. .shift:
  510.     mov  [open_param],background_tile
  511.     jmp  key_28.2    
  512. ;---------------------------------------------------------------------    
  513. reload_dir_1:
  514.     cmp  [ctrl_flag],0
  515.     je   still
  516.     jmp  reload_dir
  517. ;---------------------------------------------------------------------
  518. symbol_a_up:
  519.     cmp  [shift_flag],1
  520.     je   still
  521.     cmp  [ctrl_flag],1
  522.     je   .ctrl
  523.     cmp  [alt_flag],1
  524.     je   still
  525.     jmp  still
  526. .ctrl:
  527.     mov  [mark_action_counter],0
  528.     jmp  mark_all_file
  529. ;---------------------------------------------------------------------
  530. NumPad_plus_Up:
  531.     cmp  [shift_flag],1
  532.     je   still
  533.     cmp  [ctrl_flag],1
  534.     je   .ctrl
  535.     cmp  [alt_flag],1
  536.     je   still
  537.     jmp  still
  538. .ctrl:
  539.     mov  [mark_action_counter],0
  540.     jmp  mark_all_file
  541. ;---------------------------------------------------------------------
  542. NumPad_minus_Up:
  543.     cmp  [shift_flag],1
  544.     je   still
  545.     cmp  [ctrl_flag],1
  546.     je   .ctrl
  547.     cmp  [alt_flag],1
  548.     je   still
  549.     jmp  still
  550. .ctrl:
  551.     mov  [mark_action_counter],1
  552.     jmp  mark_all_file
  553. ;---------------------------------------------------------------------
  554. NumPad_sneg_Up:
  555.     cmp  [shift_flag],1
  556.     je   still
  557.     cmp  [ctrl_flag],1
  558.     je   .ctrl
  559.     cmp  [alt_flag],1
  560.     je   still
  561.     jmp  still
  562. .ctrl:
  563.     mov  [mark_action_counter],2
  564.     jmp  mark_all_file
  565. ;---------------------------------------------------------------------
  566. f_key_f1:
  567. ;sort_name:
  568.     cmp  [shift_flag],1
  569.     je   still
  570.     cmp  [ctrl_flag],1
  571.     je   still
  572.     cmp  [alt_flag],1
  573.     je   draw_left_select_disk_menu
  574.     jmp  help_start
  575. ;---------------------------------------------------------------------
  576. f_key_f2:
  577. ;sort_name:
  578.     cmp  [shift_flag],1
  579.     je   still
  580.     cmp  [ctrl_flag],1
  581.     je   still
  582.     cmp  [alt_flag],1
  583.     je   draw_right_select_disk_menu
  584.     jmp  still
  585. ;---------------------------------------------------------------------
  586. f_key_f3:
  587. ;sort_name:
  588.     cmp  [shift_flag],1
  589.     je   still
  590.     cmp  [ctrl_flag],1
  591.     je   .ctrl
  592.     cmp  [alt_flag],1
  593.     je   still
  594.     jmp  still
  595. .ctrl:
  596.     cmp  [select_panel_counter],1
  597.     je   right_sort_name
  598.     jmp  left_sort_name
  599. ;---------------------------------------------------------------------
  600. f_key_f4:
  601. ;sort_type:
  602.     cmp  [shift_flag],1
  603.     je   still
  604.     cmp  [ctrl_flag],1
  605.     je   .ctrl
  606.     cmp  [alt_flag],1
  607.     je   still
  608.     jmp  open_file_f4
  609. .ctrl:
  610.     cmp  [select_panel_counter],1
  611.     je   right_sort_type
  612.     jmp  left_sort_type
  613. ;---------------------------------------------------------------------
  614. f_key_f5:
  615. ;sort_size:
  616.     cmp  [shift_flag],1
  617.     je   still
  618.     cmp  [ctrl_flag],1
  619.     je   .ctrl
  620.     cmp  [alt_flag],1
  621.     je   still
  622.     jmp  copy_file_f5
  623. .ctrl:
  624.     cmp  [select_panel_counter],1
  625.     je   right_sort_size
  626.     jmp  left_sort_size
  627. ;---------------------------------------------------------------------
  628. f_key_f6:
  629. ;sort_date:
  630.     cmp  [shift_flag],1
  631.     je   still
  632.     cmp  [ctrl_flag],1
  633.     je   .ctrl
  634.     cmp  [alt_flag],1
  635.     je   still
  636.     jmp  move_file_f6
  637. .ctrl:
  638.     cmp  [select_panel_counter],1
  639.     je   right_sort_date
  640.     jmp  left_sort_date
  641. ;---------------------------------------------------------------------
  642. f_key_f7:
  643.     cmp  [shift_flag],1
  644.     je   still
  645.     cmp  [ctrl_flag],1
  646.     je   still
  647.     cmp  [alt_flag],1
  648.     je   still
  649.     jmp  create_directory
  650. ;---------------------------------------------------------------------
  651. f_key_f8:
  652.     cmp  [shift_flag],1
  653.     je   still
  654.     cmp  [ctrl_flag],1
  655.     je   still
  656.     cmp  [alt_flag],1
  657.     je   still
  658.     jmp  delete_file
  659. ;---------------------------------------------------------------------
  660. f_key_f12:
  661.     cmp  [shift_flag],1
  662.     je   still
  663.     cmp  [ctrl_flag],1
  664.     je   still
  665.     cmp  [alt_flag],1
  666.     je   still
  667.     jmp  exit_apl
  668. ;---------------------------------------------------------------------
  669. key_shift_up:
  670.     cmp  [shift_flag],1
  671.     je   still
  672.     mov  [shift_flag],1
  673.     jmp  key_alt_down.for_all
  674. ;---------------------------------------------------------------------
  675. key_shift_down:
  676.     mov  [shift_flag],0
  677.     jmp  key_alt_down.for_all
  678. ;---------------------------------------------------------------------
  679. key_ctrl_up:
  680.     cmp   ah,29
  681.     jne   key_ctrl_down
  682. .1:
  683.     cmp  [ctrl_flag],1
  684.     je   still
  685.     mov  [ctrl_flag],1
  686.     jmp  key_alt_down.for_all
  687. ;---------------------------------------------------------------------
  688. key_ctrl_down:
  689.     cmp   ah,157
  690.     jne   key_alt_up
  691. .1:
  692.     mov  [ctrl_flag],0
  693.     jmp  key_alt_down.for_all
  694. ;---------------------------------------------------------------------
  695. key_alt_up:
  696.     cmp   ah,56
  697.     jne   key_alt_down
  698. .1:
  699.     cmp  [alt_flag],1
  700.     je   still
  701.     mov  [alt_flag],1
  702.     jmp  key_alt_down.for_all
  703. ;---------------------------------------------------------------------
  704. key_alt_down:
  705.     cmp   ah,184
  706.     jne   key_insert
  707. .1:
  708.     mov  [alt_flag],0
  709. .for_all:
  710.     call erase_fbutton
  711.     call draw_fbutton
  712.     jmp  still
  713. ;---------------------------------------------------------------------
  714. key_insert:
  715.     cmp   ah,82   ; Insert
  716.     je    mark_file
  717.     cmp   ah,83
  718.     je    f_key_f8      ;delete_file
  719. key_end:
  720.     jmp  still
  721. ;---------------------------------------------------------------------