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

📄 ui_menu.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 3 页
字号:
   \   010B  D5                PUSH    DE
   \   010C  FDE1              POP     IY
     77              int i,active,old_active;
     78              char key;
     79              BOOL need_draw=TRUE;
     80              bool value_changed=FALSE;
     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;
   \   010E  13                INC     DE
   \   010F  13                INC     DE
   \   0110  1A                LD      A,(DE)
   \   0111  DD77F2            LD      (IX-14),A
   \   0114  13                INC     DE
   \   0115  1A                LD      A,(DE)
   \   0116  DD77F3            LD      (IX-13),A
     86          //    GetDCStatus(&oldDC_sav);
     87              SetPenColor(Color_WHITE_def);
   \   0119  CDF200            CALL    LWRD ?0065
     88              SetTextOutMode(1);       //设字体透明
   \   011C  1E01              LD      E,1
   \   011E  CD0000            CALL    LWRD SetTextOutMode
   \   0121  DD36FC01          LD      (IX-4),1
   \   0125  DD36FE00          LD      (IX-2),0
   \   0129            ?0003:
     89          
     90              while(1)
     91              {
     92                  if(need_draw)
   \   0129  AF                XOR     A
   \   012A  DDB6FC            OR      (IX-4)
   \   012D  CA6302            JP      Z,?0006
   \   0130            ?0005:
     93                  {
     94                      output8(0x4e,input8(0x4e)|0x8);            //zxs add
   \   0130  DB4E              IN      A,(78)
   \   0132  CBDF              SET     3,A
   \   0134  D34E              OUT     (78),A
     95                      ResShowPic(MENUTWO,0,0);
   \   0136  0E00              LD      C,0
   \   0138  C5                PUSH    BC
   \   0139  11C400            LD      DE,196
   \   013C  CDEA00            CALL    LWRD ?0063
   \   013F  F1                POP     AF
     96                      //ResShowPic(DHT,126,0);
     97                      ResShowPic(DHT,194,8);
   \   0140  0E08              LD      C,8
   \   0142  C5                PUSH    BC
   \   0143  0EC2              LD      C,194
   \   0145  112700            LD      DE,39
   \   0148  CDEA00            CALL    LWRD ?0063
   \   014B  F1                POP     AF
     98                      old_active=active;
     99                      cur_group = active / MENU_NUM_ONE_PAGE;
   \   014C  010600            LD      BC,6
   \   014F  DD5EF2            LD      E,(IX-14)
   \   0152  DD56F3            LD      D,(IX-13)
   \   0155  CD0000            CALL    LWRD ?SS_DIV_L02
   \   0158  DD73F8            LD      (IX-8),E
   \   015B  DD72F9            LD      (IX-7),D
    100                      n = cur_group*MENU_NUM_ONE_PAGE;
   \   015E  EB                EX      DE,HL
   \   015F  29                ADD     HL,HL
   \   0160  4D                LD      C,L
   \   0161  44                LD      B,H
   \   0162  29                ADD     HL,HL
   \   0163  09                ADD     HL,BC
   \   0164  DD75F6            LD      (IX-10),L
   \   0167  DD74F7            LD      (IX-9),H
    101                      SetPenColor(Color_WHITE_def);
   \   016A  CDF200            CALL    LWRD ?0065
    102                      //show icons & text
    103                      for(i=0; i<MENU_NUM_ONE_PAGE; i++)
   \   016D  DD6EF2            LD      L,(IX-14)
   \   0170  DD66F3            LD      H,(IX-13)
   \   0173  DD75FA            LD      (IX-6),L
   \   0176  DD74FB            LD      (IX-5),H
   \   0179  AF                XOR     A
   \   017A  DD77F4            LD      (IX-12),A
   \   017D  DD77F5            LD      (IX-11),A
   \   0180            ?0008:
   \   0180  010680            LD      BC,32774
   \   0183  DD6EF4            LD      L,(IX-12)
   \   0186  DD66F5            LD      H,(IX-11)
   \   0189  78                LD      A,B
   \   018A  AC                XOR     H
   \   018B  67                LD      H,A
   \   018C  ED42              SBC     HL,BC
   \   018E  D25F02            JP      NC,?0007
   \   0191            ?0009:
    104                      {
    105                          if(n+i >= menu->total) break;    //处理不足MENU_NUM_ONE_PAGE个的情况
   \   0191  FD4E00            LD      C,(IY+0)
   \   0194  FD4601            LD      B,(IY+1)
   \   0197  DD6EF4            LD      L,(IX-12)
   \   019A  DD66F5            LD      H,(IX-11)
   \   019D  DD5EF6            LD      E,(IX-10)
   \   01A0  DD56F7            LD      D,(IX-9)
   \   01A3  19                ADD     HL,DE
   \   01A4  F680              OR      128
   \   01A6  ED42              SBC     HL,BC
   \   01A8  E2AC01            JP      PO,?0055
   \   01AB  AC                XOR     H
   \   01AC            ?0055:
   \   01AC  F25F02            JP      P,?0007
   \   01AF            ?0011:
   \   01AF            ?0012:
    106                          if(n+i==active)
   \   01AF  DD6EF4            LD      L,(IX-12)
   \   01B2  DD66F5            LD      H,(IX-11)
   \   01B5  4B                LD      C,E
   \   01B6  42                LD      B,D
   \   01B7  09                ADD     HL,BC
   \   01B8  DD4EF2            LD      C,(IX-14)
   \   01BB  DD46F3            LD      B,(IX-13)
   \   01BE  A7                AND     A
   \   01BF  ED42              SBC     HL,BC
   \   01C1  210000            LD      HL,menu_pos_menu
   \   01C4  DD4EF4            LD      C,(IX-12)
   \   01C7  DD46F5            LD      B,(IX-11)
   \   01CA  09                ADD     HL,BC
   \   01CB  7E                LD      A,(HL)
   \   01CC  205B              JR      NZ,?0014
   \   01CE            ?0013:
    107                          {
    108                              {
    109                                  ResShowPic(MENUBCK, menu_bck_x_def, menu_pos_menu[i]-4);
   \   01CE  C6FC              ADD     A,252
   \   01D0  5F                LD      E,A
   \   01D1  D5                PUSH    DE
   \   01D2  CDE500            CALL    LWRD ?0064
   \   01D5  F1                POP     AF
    110                                  //ResShowPic(DHTHK,122, menu_pos_menu[i]-2);
    111                                  ResShowPic(DHTHK,194, menu_pos_menu[i]+6);
   \   01D6  210000            LD      HL,menu_pos_menu
   \   01D9  DD4EF4            LD      C,(IX-12)
   \   01DC  DD46F5            LD      B,(IX-11)
   \   01DF  09                ADD     HL,BC
   \   01E0  7E                LD      A,(HL)
   \   01E1  C606              ADD     A,6
   \   01E3  5F                LD      E,A
   \   01E4  D5                PUSH    DE
   \   01E5  0EC2              LD      C,194
   \   01E7  112800            LD      DE,40
   \   01EA  CDEA00            CALL    LWRD ?0063
   \   01ED  F1                POP     AF
    112                                  ///-ResShowPic(MENURARR, menu_ptr_x_def, menu_pos_menu[i]);
    113                              }
    114                              SetPenColor(Color_WHITE_def);
   \   01EE  CDF200            CALL    LWRD ?0065
    115                              ResShowMultiString(menu->title[active], menu->string_id,
    116                              menu_str_x_def, menu_pos_menu[i]-3);
   \   01F1  210000            LD      HL,menu_pos_menu
   \   01F4  DD4EF4            LD      C,(IX-12)
   \   01F7  DD46F5            LD      B,(IX-11)
   \   01FA  09                ADD     HL,BC
   \   01FB  7E                LD      A,(HL)
   \   01FC  C6FD              ADD     A,253
   \   01FE  4F                LD      C,A
   \   01FF  C5                PUSH    BC
   \   0200  0E20              LD      C,32
   \   0202  C5                PUSH    BC
   \   0203  FD4E09            LD      C,(IY+9)
   \   0206  FD6E04            LD      L,(IY+4)
   \   0209  FD6605            LD      H,(IY+5)
   \   020C  E5                PUSH    HL
   \   020D  DD6EF2            LD      L,(IX-14)
   \   0210  DD66F3            LD      H,(IX-13)
   \   0213  29                ADD     HL,HL
   \   0214  EB                EX      DE,HL
   \   0215  E1                POP     HL
   \   0216  19                ADD     HL,DE
   \   0217  5E                LD      E,(HL)
   \   0218  23                INC     HL
   \   0219  56                LD      D,(HL)
   \   021A  3E00              LD      A,BYTE3 ResShowMultiString
   \   021C  210000            LD      HL,LWRD ResShowMultiString
   \   021F  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0222  F1                POP     AF
   \   0223  F1                POP     AF
    117                              SetPenColor(Color_WHITE_def);
   \   0224  CDF200            CALL    LWRD ?0065
    118                          }
    119                          else
   \   0227  182A              JR      ?0015
   \   0229            ?0014:
    120                          {
    121                              ///-ResShowPic(MENUARR1+i, menu_ptr_x_def, menu_pos_menu[i]);
    122                              ResShowMultiString(menu->title[n+i], menu->string_id,
    123                              menu_str_x_def, menu_pos_menu[i]-3);
   \   0229  C6FD              ADD     A,253
   \   022B  5F                LD      E,A
   \   022C  D5                PUSH    DE
   \   022D  1E20              LD      E,32
   \   022F  D5                PUSH    DE
   \   0230  FD4E09            LD      C,(IY+9)
   \   0233  FD6E04            LD      L,(IY+4)
   \   0236  FD6605            LD      H,(IY+5)
   \   0239  E5                PUSH    HL
   \   023A  DD6EF4            LD      L,(IX-12)
   \   023D  60                LD      H,B
   \   023E  DD5EF6            LD      E,(IX-10)
   \   0241  19                ADD     HL,DE
   \   0242  29                ADD     HL,HL
   \   0243  EB                EX      DE,HL
   \   0244  E1                POP     HL
   \   0245  19                ADD     HL,DE
   \   0246  5E                LD      E,(HL)
   \   0247  23                INC     HL
   \   0248  56                LD      D,(HL)
   \   0249  3E00              LD      A,BYTE3 ResShowMultiString
   \   024B  210000            LD      HL,LWRD ResShowMultiString
   \   024E  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0251  F1                POP     AF
   \   0252  F1                POP     AF
   \   0253            ?0015:
   \   0253  DD34F4            INC     (IX-12)
   \   0256  C28001            JP      NZ,?0008
   \   0259  DD34F5            INC     (IX-11)
   \   025C  C38001            JP      LWRD ?0008
   \   025F            ?0007:
    124                          }
    125                      }
    126          
    127                      need_draw = FALSE;
   \   025F  DD36FC00          LD      (IX-4),0
   \   0263            ?0006:
    128                  }//need draw
    129          
    130                  if(value_changed)
   \   0263  AF                XOR     A
   \   0264  DDB6FE            OR      (IX-2)
   \   0267  281D              JR      Z,?0017
   \   0269            ?0016:
    131                  {
    132                      show_active_menu(menu,old_active,active);
   \   0269  DD6EF2            LD      L,(IX-14)
   \   026C  DD66F3            LD      H,(IX-13)
   \   026F  E5                PUSH    HL
   \   0270  DD4EFA            LD      C,(IX-6)
   \   0273  DD46FB            LD      B,(IX-5)
   \   0276  FDE5              PUSH    IY
   \   0278  D1                POP     DE
   \   0279  3E00              LD      A,BYTE3 show_active_menu
   \   027B  210000            LD      HL,LWRD show_active_menu
   \   027E  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0281  E1                POP     HL
    133                      value_changed=FALSE;
   \   0282  DD36FE00          LD      (IX-2),0
   \   0286            ?0017:
    134                  }
    135                  key = ap_get_message();
   \   0286  CD0000            CALL    LWRD ap_get_message
    136                  //handle message
    137                  switch( key)
   \   0289  5F                LD      E,A
   \   028A  CD0000            CALL    LWRD ?C_V_SWITCH_L06
   \   028D  0700              DEFW    7
   \   028F  05                DEFB    5
   \   0290  06                DEFB    6
   \   0291  1E                DEFB    30
   \   0292  21                DEFB    33
   \   0293  30                DEFB    48
   \   0294  45                DEFB    69
   \   0295  46                DEFB    70
   \   0296  B703              DEFW    ?0048
   \   0298  A602              DEFW    ?0019
   \   029A  2103              DEFW    ?0031
   \   029C  9A03              DEFW    ?0044
   \   029E  B203              DEFW    ?0060
   \   02A0  AB03              DEFW    ?0045
   \   02A2  A602              DEFW    ?0019
   \   02A4  2103              DEFW    ?0031
   \   02A6            ?0019:
    138                  {
    139                      case AP_KEY_NEXT:

⌨️ 快捷键说明

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