Subversion Repositories Kolibri OS

Rev

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