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

📄 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:38:30 #
# 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_fmrecord\list\ui_menu.lst     #
#       Object file   =  d:\case_i_d913f\ap\ap_fmrecord\obj\ui_menu.r01      #
#       Command line  =  -v0 -mb -OD:\case_i_d913f\ap\ap_fmrecord\Obj\ -e    #
#                        -K -w -gA -s9 -RCODE -r0 -DNAPDEBUG                 #
#                        -LD:\case_i_d913f\ap\ap_fmrecord\List\ -q -t8 -X    #
#                        -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  C5                PUSH    BC
   \   0005  D5                PUSH    DE
   \   0006  DDE1              POP     IX
     37                 int tmp;
     38          
     39          //清除旧的活动菜单项
     40                 tmp = old_active%MENU_NUM_ONE_PAGE;
   \   0008  010600            LD      BC,6
   \   000B  68                LD      L,B
   \   000C  60                LD      H,B
   \   000D  39                ADD     HL,SP
   \   000E  5E                LD      E,(HL)
   \   000F  23                INC     HL
   \   0010  56                LD      D,(HL)
   \   0011  CD0000            CALL    LWRD ?SS_MOD_L02
     41          
     42                 ResShowPic(menu_bck_pic[tmp], menu_bck_x_def, menu_pos_menu[tmp]-4);
   \   0014  210000            LD      HL,menu_pos_menu
   \   0017  19                ADD     HL,DE
   \   0018  7E                LD      A,(HL)
   \   0019  C6FC              ADD     A,252
   \   001B  4F                LD      C,A
   \   001C  C5                PUSH    BC
   \   001D  0E09              LD      C,9
   \   001F  EB                EX      DE,HL
   \   0020  29                ADD     HL,HL
   \   0021  110600            LD      DE,menu_bck_pic
   \   0024  19                ADD     HL,DE
   \   0025  5E                LD      E,(HL)
   \   0026  23                INC     HL
   \   0027  56                LD      D,(HL)
   \   0028  CDEA00            CALL    LWRD ?0063
   \   002B  F1                POP     AF
     43          
     44          //显示新的活动菜单
     45                 tmp = active%MENU_NUM_ONE_PAGE;
   \   002C  010600            LD      BC,6
   \   002F  210A00            LD      HL,10
   \   0032  39                ADD     HL,SP
   \   0033  5E                LD      E,(HL)
   \   0034  23                INC     HL
   \   0035  56                LD      D,(HL)
   \   0036  CD0000            CALL    LWRD ?SS_MOD_L02
   \   0039  D5                PUSH    DE
   \   003A  FDE1              POP     IY
     46                 ResShowPic(MENUBCK, menu_bck_x_def, menu_pos_menu[tmp]-4);
   \   003C  210000            LD      HL,menu_pos_menu
   \   003F  19                ADD     HL,DE
   \   0040  7E                LD      A,(HL)
   \   0041  C6FC              ADD     A,252
   \   0043  4F                LD      C,A
   \   0044  C5                PUSH    BC
   \   0045  CDE500            CALL    LWRD ?0064
   \   0048  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);
   \   0049  0E08              LD      C,8
   \   004B  C5                PUSH    BC
   \   004C  0EC2              LD      C,194
   \   004E  112700            LD      DE,39
   \   0051  CDEA00            CALL    LWRD ?0063
   \   0054  F1                POP     AF
     50                 ResShowPic(DHTHK,194, menu_pos_menu[tmp]+6);
   \   0055  210000            LD      HL,menu_pos_menu
   \   0058  FDE5              PUSH    IY
   \   005A  C1                POP     BC
   \   005B  09                ADD     HL,BC
   \   005C  7E                LD      A,(HL)
   \   005D  C606              ADD     A,6
   \   005F  5F                LD      E,A
   \   0060  D5                PUSH    DE
   \   0061  0EC2              LD      C,194
   \   0063  112800            LD      DE,40
   \   0066  CDEA00            CALL    LWRD ?0063
   \   0069  F1                POP     AF
     51          
     52                 SetPenColor(Color_WHITE_def);
   \   006A  CDF200            CALL    LWRD ?0065
     53                 ResShowMultiString(menu->title[active], menu->string_id, menu_str_x_def, menu_pos_menu[tmp]-3);
   \   006D  210000            LD      HL,menu_pos_menu
   \   0070  FDE5              PUSH    IY
   \   0072  C1                POP     BC
   \   0073  09                ADD     HL,BC
   \   0074  7E                LD      A,(HL)
   \   0075  C6FD              ADD     A,253
   \   0077  5F                LD      E,A
   \   0078  D5                PUSH    DE
   \   0079  1E20              LD      E,32
   \   007B  D5                PUSH    DE
   \   007C  DD4E09            LD      C,(IX+9)
   \   007F  DD6E04            LD      L,(IX+4)
   \   0082  DD6605            LD      H,(IX+5)
   \   0085  E5                PUSH    HL
   \   0086  211000            LD      HL,16
   \   0089  39                ADD     HL,SP
   \   008A  46                LD      B,(HL)
   \   008B  23                INC     HL
   \   008C  66                LD      H,(HL)
   \   008D  68                LD      L,B
   \   008E  29                ADD     HL,HL
   \   008F  EB                EX      DE,HL
   \   0090  E1                POP     HL
   \   0091  19                ADD     HL,DE
   \   0092  5E                LD      E,(HL)
   \   0093  23                INC     HL
   \   0094  56                LD      D,(HL)
   \   0095  3E00              LD      A,BYTE3 ResShowMultiString
   \   0097  210000            LD      HL,LWRD ResShowMultiString
   \   009A  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   009D  F1                POP     AF
   \   009E  F1                POP     AF
     54          //重新显示旧的活动菜单
     55                 SetPenColor(Color_WHITE_def);
   \   009F  CDF200            CALL    LWRD ?0065
     56          
     57                 tmp = old_active%MENU_NUM_ONE_PAGE;
   \   00A2  010600            LD      BC,6
   \   00A5  68                LD      L,B
   \   00A6  60                LD      H,B
   \   00A7  39                ADD     HL,SP
   \   00A8  5E                LD      E,(HL)
   \   00A9  23                INC     HL
   \   00AA  56                LD      D,(HL)
   \   00AB  CD0000            CALL    LWRD ?SS_MOD_L02
     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);
   \   00AE  210000            LD      HL,menu_pos_menu
   \   00B1  19                ADD     HL,DE
   \   00B2  7E                LD      A,(HL)
   \   00B3  C6FD              ADD     A,253
   \   00B5  4F                LD      C,A
   \   00B6  C5                PUSH    BC
   \   00B7  0E20              LD      C,32
   \   00B9  C5                PUSH    BC
   \   00BA  DD4E09            LD      C,(IX+9)
   \   00BD  DD6E04            LD      L,(IX+4)
   \   00C0  DD6605            LD      H,(IX+5)
   \   00C3  E5                PUSH    HL
   \   00C4  210600            LD      HL,6
   \   00C7  39                ADD     HL,SP
   \   00C8  46                LD      B,(HL)
   \   00C9  23                INC     HL
   \   00CA  66                LD      H,(HL)
   \   00CB  68                LD      L,B
   \   00CC  29                ADD     HL,HL
   \   00CD  EB                EX      DE,HL
   \   00CE  E1                POP     HL
   \   00CF  19                ADD     HL,DE
   \   00D0  5E                LD      E,(HL)
   \   00D1  23                INC     HL
   \   00D2  56                LD      D,(HL)
   \   00D3  3E00              LD      A,BYTE3 ResShowMultiString
   \   00D5  210000            LD      HL,LWRD ResShowMultiString
   \   00D8  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00DB  F1                POP     AF
   \   00DC  F1                POP     AF
     60          }
   \   00DD  E1                POP     HL
   \   00DE  DDE1              POP     IX
   \   00E0  FDE1              POP     IY
   \   00E2  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   00E5            ?0064:
   \   00E5  0E09              LD      C,9
   \   00E7  11B500            LD      DE,181
   \   00EA            ?0063:
   \   00EA  3E00              LD      A,BYTE3 ResShowPic
   \   00EC  210000            LD      HL,LWRD ResShowPic
   \   00EF  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   00F2            ?0065:
   \   00F2  010000            LD      BC,0
   \   00F5  11FFFF            LD      DE,65535
   \   00F8  C30000            JP      LWRD SetPenColor
   \   00FB            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          {
   \   00FB  C5                PUSH    BC
   \   00FC  FDE5              PUSH    IY
   \   00FE  DDE5              PUSH    IX
   \   0100  DD210000          LD      IX,0
   \   0104  DD39              ADD     IX,SP
   \   0106  21F2FF            LD      HL,65522
   \   0109  39                ADD     HL,SP
   \   010A  F9                LD      SP,HL

⌨️ 快捷键说明

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