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

📄 ui_menu.lst

📁 MP3 整个 SDK
💻 LST
📖 第 1 页 / 共 3 页
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       25/Dec/106  16:58:57 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d90f\ap\common\ui_menu.c                  #
#       List file     =  d:\case_i_d90f\ap\ap_amv\list\ui_menu.lst           #
#       Object file   =  d:\case_i_d90f\ap\ap_amv\obj\ui_menu.r01            #
#       ASM file      =  d:\case_i_d90f\ap\ap_amv\list\ui_menu.s01           #
#       Command line  =  -v0 -mb -OD:\case_i_d90f\ap\ap_amv\Obj\ -e -K -w    #
#                        -gA -s9 -RCODE -r0 -DNAPDEBUG -DAMV_JPG_TXT         #
#                        -LD:\case_i_d90f\ap\ap_amv\List\ -q -t8             #
#                        -AD:\case_i_d90f\ap\ap_amv\List\                    #
#                        -ND:\case_i_d90f\ap\ap_amv\List\ -X                 #
#                        -Id:\sdk_i_90f\inc\ -Id:\case_i_d90f\inc\           #
#                        D:\CASE_I_D90F\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]={ MENUBCK6,MENUBCK5,MENUBCK4,MENUBCK3,MENUBCK2,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          
     38                 int tmp;
     39          
     40          //清除旧的活动菜单项
     41                   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
     42          
     43                      ResShowPic(menu_bck_pic[tmp], menu_bck_x_def, menu_pos_menu[tmp]-4);
   \   001B  210000            LD      HL,menu_pos_menu
   \   001E  19                ADD     HL,DE
   \   001F  7E                LD      A,(HL)
   \   0020  C6FC              ADD     A,252
   \   0022  4F                LD      C,A
   \   0023  C5                PUSH    BC
   \   0024  0E09              LD      C,9
   \   0026  EB                EX      DE,HL
   \   0027  29                ADD     HL,HL
   \   0028  110600            LD      DE,menu_bck_pic
   \   002B  19                ADD     HL,DE
   \   002C  5E                LD      E,(HL)
   \   002D  23                INC     HL
   \   002E  56                LD      D,(HL)
   \   002F  CD2801            CALL    LWRD ?0063
   \   0032  F1                POP     AF
     44          
     45          //显示新的活动菜单
     46                 tmp = active%MENU_NUM_ONE_PAGE;
   \   0033  010600            LD      BC,6
   \   0036  DD5E08            LD      E,(IX+8)
   \   0039  DD5609            LD      D,(IX+9)
   \   003C  CD0000            CALL    LWRD ?SS_MOD_L02
   \   003F  DD73FC            LD      (IX-4),E
   \   0042  DD72FD            LD      (IX-3),D
     47                 ResShowPic(MENUBCK, menu_bck_x_def, menu_pos_menu[tmp]-4);
   \   0045  210000            LD      HL,menu_pos_menu
   \   0048  19                ADD     HL,DE
   \   0049  7E                LD      A,(HL)
   \   004A  C6FC              ADD     A,252
   \   004C  4F                LD      C,A
   \   004D  C5                PUSH    BC
   \   004E  CD2301            CALL    LWRD ?0064
   \   0051  F1                POP     AF
     48                 ResShowPic(MENURARR, menu_ptr_x_def, menu_pos_menu[tmp]);
   \   0052  210000            LD      HL,menu_pos_menu
   \   0055  DD4EFC            LD      C,(IX-4)
   \   0058  DD46FD            LD      B,(IX-3)
   \   005B  09                ADD     HL,BC
   \   005C  5E                LD      E,(HL)
   \   005D  D5                PUSH    DE
   \   005E  0E0A              LD      C,10
   \   0060  116C00            LD      DE,108
   \   0063  CD2801            CALL    LWRD ?0063
   \   0066  F1                POP     AF
     49                 //ResShowPic(DHTHK,122, menu_pos_menu[tmp]-2);
     50                 ResShowPic(DHT,194,8);
   \   0067  0E08              LD      C,8
   \   0069  C5                PUSH    BC
   \   006A  0EC2              LD      C,194
   \   006C  112D00            LD      DE,45
   \   006F  CD2801            CALL    LWRD ?0063
   \   0072  F1                POP     AF
     51                 ResShowPic(DHTHK,194, menu_pos_menu[tmp]+6);
   \   0073  210000            LD      HL,menu_pos_menu
   \   0076  DD4EFC            LD      C,(IX-4)
   \   0079  DD46FD            LD      B,(IX-3)
   \   007C  09                ADD     HL,BC
   \   007D  7E                LD      A,(HL)
   \   007E  C606              ADD     A,6
   \   0080  5F                LD      E,A
   \   0081  D5                PUSH    DE
   \   0082  0EC2              LD      C,194
   \   0084  112E00            LD      DE,46
   \   0087  CD2801            CALL    LWRD ?0063
   \   008A  F1                POP     AF
     52          
     53                 SetPenColor(Color_WHITE_def);
   \   008B  CD3001            CALL    LWRD ?0065
     54                 ResShowMultiString(menu->title[active], menu->string_id, menu_str_x_def, menu_pos_menu[tmp]-3);
   \   008E  210000            LD      HL,menu_pos_menu
   \   0091  DD4EFC            LD      C,(IX-4)
   \   0094  DD46FD            LD      B,(IX-3)
   \   0097  09                ADD     HL,BC
   \   0098  7E                LD      A,(HL)
   \   0099  C6FD              ADD     A,253
   \   009B  5F                LD      E,A
   \   009C  D5                PUSH    DE
   \   009D  1E20              LD      E,32
   \   009F  D5                PUSH    DE
   \   00A0  FD4E09            LD      C,(IY+9)
   \   00A3  FD6E04            LD      L,(IY+4)
   \   00A6  FD6605            LD      H,(IY+5)
   \   00A9  E5                PUSH    HL
   \   00AA  DD6E08            LD      L,(IX+8)
   \   00AD  DD6609            LD      H,(IX+9)
   \   00B0  29                ADD     HL,HL
   \   00B1  EB                EX      DE,HL
   \   00B2  E1                POP     HL
   \   00B3  19                ADD     HL,DE
   \   00B4  5E                LD      E,(HL)
   \   00B5  23                INC     HL
   \   00B6  56                LD      D,(HL)
   \   00B7  3E00              LD      A,BYTE3 ResShowMultiString
   \   00B9  210000            LD      HL,LWRD ResShowMultiString
   \   00BC  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00BF  F1                POP     AF
   \   00C0  F1                POP     AF
     55          //重新显示旧的活动菜单
     56                 SetPenColor(Color_WHITE_def);
   \   00C1  CD3001            CALL    LWRD ?0065
     57          
     58                 tmp = old_active%MENU_NUM_ONE_PAGE;
   \   00C4  010600            LD      BC,6
   \   00C7  DD5EFE            LD      E,(IX-2)
   \   00CA  DD56FF            LD      D,(IX-1)
   \   00CD  CD0000            CALL    LWRD ?SS_MOD_L02
   \   00D0  DD73FC            LD      (IX-4),E
   \   00D3  DD72FD            LD      (IX-3),D
     59                 ResShowPic(MENUARR1+tmp, menu_ptr_x_def, menu_pos_menu[tmp]);
   \   00D6  210000            LD      HL,menu_pos_menu
   \   00D9  19                ADD     HL,DE
   \   00DA  4E                LD      C,(HL)
   \   00DB  C5                PUSH    BC
   \   00DC  0E0A              LD      C,10
   \   00DE  215E00            LD      HL,94
   \   00E1  19                ADD     HL,DE
   \   00E2  EB                EX      DE,HL
   \   00E3  CD2801            CALL    LWRD ?0063
   \   00E6  F1                POP     AF
     60                 ResShowMultiString(menu->title[old_active], menu->string_id, menu_str_x_def, menu_pos_menu[tmp]-3);
   \   00E7  210000            LD      HL,menu_pos_menu
   \   00EA  DD4EFC            LD      C,(IX-4)
   \   00ED  DD46FD            LD      B,(IX-3)
   \   00F0  09                ADD     HL,BC
   \   00F1  7E                LD      A,(HL)
   \   00F2  C6FD              ADD     A,253
   \   00F4  4F                LD      C,A
   \   00F5  C5                PUSH    BC
   \   00F6  0E20              LD      C,32
   \   00F8  C5                PUSH    BC
   \   00F9  FD4E09            LD      C,(IY+9)
   \   00FC  FD6E04            LD      L,(IY+4)
   \   00FF  FD6605            LD      H,(IY+5)
   \   0102  E5                PUSH    HL
   \   0103  DD6EFE            LD      L,(IX-2)
   \   0106  DD66FF            LD      H,(IX-1)
   \   0109  29                ADD     HL,HL
   \   010A  EB                EX      DE,HL
   \   010B  E1                POP     HL
   \   010C  19                ADD     HL,DE
   \   010D  5E                LD      E,(HL)
   \   010E  23                INC     HL
   \   010F  56                LD      D,(HL)
   \   0110  3E00              LD      A,BYTE3 ResShowMultiString
   \   0112  210000            LD      HL,LWRD ResShowMultiString
   \   0115  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0118  F1                POP     AF
   \   0119  F1                POP     AF
     61          }
   \   011A  DDF9              LD      SP,IX
   \   011C  DDE1              POP     IX
   \   011E  FDE1              POP     IY
   \   0120  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0123            ?0064:
   \   0123  0E09              LD      C,9
   \   0125  116400            LD      DE,100
   \   0128            ?0063:
   \   0128  3E00              LD      A,BYTE3 ResShowPic
   \   012A  210000            LD      HL,LWRD ResShowPic
   \   012D  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   0130            ?0065:
   \   0130  010000            LD      BC,0
   \   0133  11FFFF            LD      DE,65535
   \   0136  C30000            JP      LWRD SetPenColor
   \   0139            ui_menu:
     62          /*
     63          ********************************************************************************
     64          * Description : 一级菜单
     65          *
     66          * Arguments   :
     67          *    menu,      结构体指针
     68          *    string_id,  语言
     69          
     70          * Returns     :
     71          *        0
     72          * Notes       :
     73          *
     74          ********************************************************************************
     75          */
     76          int ui_menu (function_menu_t *menu , const void (*callback)(int value))
     77          {
   \   0139  C5                PUSH    BC
   \   013A  FDE5              PUSH    IY
   \   013C  DDE5              PUSH    IX
   \   013E  DD210000          LD      IX,0
   \   0142  DD39              ADD     IX,SP
   \   0144  21F2FF            LD      HL,65522
   \   0147  39                ADD     HL,SP
   \   0148  F9                LD      SP,HL

⌨️ 快捷键说明

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