⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ui_menu.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 3 页
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       21/Sep/107  12:45:35 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d913f\ap\common\ui_menu.c                 #
#       List file     =  d:\case_i_d913f\ap\ap_setting\list\ui_menu.lst      #
#       Object file   =  d:\case_i_d913f\ap\ap_setting\release\obj\ui_menu.r01#
#       Command line  =  -v0 -mb                                             #
#                        -OD:\case_i_d913f\ap\ap_setting\release\Obj\ -e -K  #
#                        -w -gA -s7 -RCODE -r0 -DNAPDEBUG                    #
#                        -LD:\case_i_d913f\ap\ap_setting\List\ -q -t8        #
#                        -Id:\sdk_i_913f\inc\ -Id:\case_i_d913f\inc\         #
#                        d:\case_i_d913f\AP\COMMON\ui_menu.c                 #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    ui_menu(17)
   \   0000                    RSEG    COM_CTRL(0)
   \   0000                    RSEG    CONST(0)
   \   0000                    EXTERN  ResShowMultiString
   \   0000                    EXTERN  ResShowPic
   \   0000                    EXTERN  SetPenColor
   \   0000                    EXTERN  SetTextOutMode
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_handle_hotkey
   \   0000                    PUBLIC  menu_bck_pic
   \   0000                    PUBLIC  menu_pos_menu
   \   0000                    PUBLIC  show_active_menu
   \   0000                    EXTERN  ui_auto_select
   \   0000                    PUBLIC  ui_menu
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?SS_DIV_L02
   \   0000                    EXTERN  ?SS_MOD_L02
   \   0000                    EXTERN  ?C_V_SWITCH_L06
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    RSEG    COM_CTRL
   \   0000            show_active_menu:
      1          /*
      2          *******************************************************************************
      3          *                ACTOS AP
      4          *           ap common lib file
      5          *
      6          *        (c) Copyright, Actions Co,Ld.
      7          *             All Right Reserved
      8          *
      9          *  $Id: ui_menu.c,v 1.1.1.1 2006/05/22 03:23:59 selina Exp $
     10          *******************************************************************************
     11          */
     12          #pragma codeseg(COM_CTRL)
     13          
     14          #include "ap_common.h"
     15          #define MENU_NUM_ONE_PAGE   6
     16          
     17          extern comval_t g_comval;
     18          const char menu_pos_menu[MENU_NUM_ONE_PAGE] = { POSITION_MENU6,POSITION_MENU5,
     19                  POSITION_MENU4,POSITION_MENU3,POSITION_MENU2,POSITION_MENU1};
     20          const WORD menu_bck_pic[MENU_NUM_ONE_PAGE]={ MENUBCK1,MENUBCK1,MENUBCK1,MENUBCK1,MENUBCK1,MENUBCK1 };
     21          /*
     22          ********************************************************************************
     23          * Description : 转换索引成字符串
     24          *
     25          * Arguments   :
     26          *    grade,    索引字符串
     27          *    str,  转换后的字符串
     28          
     29          * Returns     :
     30          *        字符串的个数
     31          * Notes       :
     32          *
     33          ********************************************************************************
     34          */
     35          void show_active_menu(function_menu_t *menu,int old_active, int active)
     36          {
   \   0000  FDE5              PUSH    IY
   \   0002  DDE5              PUSH    IX
   \   0004  DD210000          LD      IX,0
   \   0008  DD39              ADD     IX,SP
   \   000A  C5                PUSH    BC
   \   000B  F5                PUSH    AF
   \   000C  D5                PUSH    DE
   \   000D  FDE1              POP     IY
     37                 int tmp;
     38          
     39          //清除旧的活动菜单项
     40                 tmp = old_active%MENU_NUM_ONE_PAGE;
   \   000F  010600            LD      BC,6
   \   0012  DD5EFE            LD      E,(IX-2)
   \   0015  DD56FF            LD      D,(IX-1)
   \   0018  CD0000            CALL    LWRD ?SS_MOD_L02
   \   001B  DD73FC            LD      (IX-4),E
   \   001E  DD72FD            LD      (IX-3),D
     41          
     42                 ResShowPic(menu_bck_pic[tmp], menu_bck_x_def, menu_pos_menu[tmp]-4);
   \   0021  210000            LD      HL,menu_pos_menu
   \   0024  19                ADD     HL,DE
   \   0025  7E                LD      A,(HL)
   \   0026  C6FC              ADD     A,252
   \   0028  4F                LD      C,A
   \   0029  C5                PUSH    BC
   \   002A  0E09              LD      C,9
   \   002C  EB                EX      DE,HL
   \   002D  29                ADD     HL,HL
   \   002E  110600            LD      DE,menu_bck_pic
   \   0031  19                ADD     HL,DE
   \   0032  5E                LD      E,(HL)
   \   0033  23                INC     HL
   \   0034  56                LD      D,(HL)
   \   0035  3E00              LD      A,BYTE3 ResShowPic
   \   0037  210000            LD      HL,LWRD ResShowPic
   \   003A  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   003D  F1                POP     AF
     43          
     44          //显示新的活动菜单
     45                 tmp = active%MENU_NUM_ONE_PAGE;
   \   003E  010600            LD      BC,6
   \   0041  DD5E08            LD      E,(IX+8)
   \   0044  DD5609            LD      D,(IX+9)
   \   0047  CD0000            CALL    LWRD ?SS_MOD_L02
   \   004A  DD73FC            LD      (IX-4),E
   \   004D  DD72FD            LD      (IX-3),D
     46                 ResShowPic(MENUBCK, menu_bck_x_def, menu_pos_menu[tmp]-4);
   \   0050  210000            LD      HL,menu_pos_menu
   \   0053  19                ADD     HL,DE
   \   0054  7E                LD      A,(HL)
   \   0055  C6FC              ADD     A,252
   \   0057  4F                LD      C,A
   \   0058  C5                PUSH    BC
   \   0059  0E09              LD      C,9
   \   005B  11B500            LD      DE,181
   \   005E  3E00              LD      A,BYTE3 ResShowPic
   \   0060  210000            LD      HL,LWRD ResShowPic
   \   0063  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0066  F1                POP     AF
     47                 ///-ResShowPic(MENURARR, menu_ptr_x_def, menu_pos_menu[tmp]);
     48                 //ResShowPic(DHTHK,122, menu_pos_menu[tmp]-2);
     49                 ResShowPic(DHT,194,8);
   \   0067  0E08              LD      C,8
   \   0069  C5                PUSH    BC
   \   006A  0EC2              LD      C,194
   \   006C  112700            LD      DE,39
   \   006F  3E00              LD      A,BYTE3 ResShowPic
   \   0071  210000            LD      HL,LWRD ResShowPic
   \   0074  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0077  F1                POP     AF
     50                 ResShowPic(DHTHK,194, menu_pos_menu[tmp]+6);
   \   0078  210000            LD      HL,menu_pos_menu
   \   007B  DD4EFC            LD      C,(IX-4)
   \   007E  DD46FD            LD      B,(IX-3)
   \   0081  09                ADD     HL,BC
   \   0082  7E                LD      A,(HL)
   \   0083  C606              ADD     A,6
   \   0085  5F                LD      E,A
   \   0086  D5                PUSH    DE
   \   0087  0EC2              LD      C,194
   \   0089  112800            LD      DE,40
   \   008C  3E00              LD      A,BYTE3 ResShowPic
   \   008E  210000            LD      HL,LWRD ResShowPic
   \   0091  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0094  F1                POP     AF
     51          
     52                 SetPenColor(Color_WHITE_def);
   \   0095  010000            LD      BC,0
   \   0098  11FFFF            LD      DE,65535
   \   009B  CD0000            CALL    LWRD SetPenColor
     53                 ResShowMultiString(menu->title[active], menu->string_id, menu_str_x_def, menu_pos_menu[tmp]-3);
   \   009E  210000            LD      HL,menu_pos_menu
   \   00A1  DD4EFC            LD      C,(IX-4)
   \   00A4  DD46FD            LD      B,(IX-3)
   \   00A7  09                ADD     HL,BC
   \   00A8  7E                LD      A,(HL)
   \   00A9  C6FD              ADD     A,253
   \   00AB  5F                LD      E,A
   \   00AC  D5                PUSH    DE
   \   00AD  1E20              LD      E,32
   \   00AF  D5                PUSH    DE
   \   00B0  FD4E09            LD      C,(IY+9)
   \   00B3  FD6E04            LD      L,(IY+4)
   \   00B6  FD6605            LD      H,(IY+5)
   \   00B9  E5                PUSH    HL
   \   00BA  DD6E08            LD      L,(IX+8)
   \   00BD  DD6609            LD      H,(IX+9)
   \   00C0  29                ADD     HL,HL
   \   00C1  EB                EX      DE,HL
   \   00C2  E1                POP     HL
   \   00C3  19                ADD     HL,DE
   \   00C4  5E                LD      E,(HL)
   \   00C5  23                INC     HL
   \   00C6  56                LD      D,(HL)
   \   00C7  3E00              LD      A,BYTE3 ResShowMultiString
   \   00C9  210000            LD      HL,LWRD ResShowMultiString
   \   00CC  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00CF  F1                POP     AF
   \   00D0  F1                POP     AF
     54          //重新显示旧的活动菜单
     55                 SetPenColor(Color_WHITE_def);
   \   00D1  010000            LD      BC,0
   \   00D4  11FFFF            LD      DE,65535
   \   00D7  CD0000            CALL    LWRD SetPenColor
     56          
     57                 tmp = old_active%MENU_NUM_ONE_PAGE;
   \   00DA  010600            LD      BC,6
   \   00DD  DD5EFE            LD      E,(IX-2)
   \   00E0  DD56FF            LD      D,(IX-1)
   \   00E3  CD0000            CALL    LWRD ?SS_MOD_L02
   \   00E6  DD73FC            LD      (IX-4),E
   \   00E9  DD72FD            LD      (IX-3),D
     58                 ///-ResShowPic(MENUARR1+tmp, menu_ptr_x_def, menu_pos_menu[tmp]);
     59                 ResShowMultiString(menu->title[old_active], menu->string_id, menu_str_x_def, menu_pos_menu[tmp]-3);
   \   00EC  210000            LD      HL,menu_pos_menu
   \   00EF  19                ADD     HL,DE
   \   00F0  7E                LD      A,(HL)
   \   00F1  C6FD              ADD     A,253
   \   00F3  4F                LD      C,A
   \   00F4  C5                PUSH    BC
   \   00F5  0E20              LD      C,32
   \   00F7  C5                PUSH    BC
   \   00F8  FD4E09            LD      C,(IY+9)
   \   00FB  FD6E04            LD      L,(IY+4)
   \   00FE  FD6605            LD      H,(IY+5)
   \   0101  E5                PUSH    HL
   \   0102  DD6EFE            LD      L,(IX-2)
   \   0105  DD66FF            LD      H,(IX-1)
   \   0108  29                ADD     HL,HL
   \   0109  EB                EX      DE,HL
   \   010A  E1                POP     HL
   \   010B  19                ADD     HL,DE
   \   010C  5E                LD      E,(HL)
   \   010D  23                INC     HL
   \   010E  56                LD      D,(HL)
   \   010F  3E00              LD      A,BYTE3 ResShowMultiString
   \   0111  210000            LD      HL,LWRD ResShowMultiString
   \   0114  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0117  F1                POP     AF
   \   0118  F1                POP     AF
     60          }
   \   0119  DDF9              LD      SP,IX
   \   011B  DDE1              POP     IX
   \   011D  FDE1              POP     IY
   \   011F  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0122            ui_menu:
     61          /*
     62          ********************************************************************************
     63          * Description : 一级菜单
     64          *
     65          * Arguments   :
     66          *    menu,      结构体指针
     67          *    string_id,  语言
     68          
     69          * Returns     :
     70          *        0
     71          * Notes       :
     72          *
     73          ********************************************************************************
     74          */
     75          int ui_menu (function_menu_t *menu , const void (*callback)(int value))
     76          {
   \   0122  C5                PUSH    BC
   \   0123  FDE5              PUSH    IY
   \   0125  DDE5              PUSH    IX
   \   0127  DD210000          LD      IX,0
   \   012B  DD39              ADD     IX,SP
   \   012D  21F2FF            LD      HL,65522
   \   0130  39                ADD     HL,SP
   \   0131  F9                LD      SP,HL
   \   0132  D5                PUSH    DE
   \   0133  FDE1              POP     IY
     77              int i,active,old_active;
     78              char key;
     79              BOOL need_draw=TRUE;
   \   0135  DD36FC01          LD      (IX-4),1
     80              bool value_changed=FALSE;
   \   0139  DD36FE00          LD      (IX-2),0
     81              int cur_group;      //menu->active / MENU_NUM_ONE_PAGE
     82              int n;              //the item to show
     83          //    DC  oldDC_sav;
     84          
     85              active = menu->active;
   \   013D  13                INC     DE
   \   013E  13                INC     DE
   \   013F  1A                LD      A,(DE)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -