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

📄 ui_scroll2.lst

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

   \   0000                    NAME    ui_scroll2(17)
   \   0000                    RSEG    CODE(0)
   \   0000                    EXTERN  CharOutRect
   \   0000                    EXTERN  GetOutPutErr
   \   0000                    EXTERN  GetTextPos
   \   0000                    EXTERN  PutS
   \   0000                    PUBLIC  ReadCode_sub
   \   0000                    PUBLIC  ScrollInit
   \   0000                    PUBLIC  ScrollInit_sub
   \   0000                    EXTERN  SetAsciiFont
   \   0000                    EXTERN  SetBackgdColor
   \   0000                    EXTERN  SetTextPos
   \   0000                    EXTERN  TextOutRect
   \   0000                    EXTERN  scroll_cnt
   \   0000                    EXTERN  str_pt
   \   0000                    EXTERN  strhead_pt
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    RSEG    CODE
   \   0000            ScrollInit:
      1          /*
      2          *******************************************************************************
      3          *                ACTOS AP
      4          *        wma player basal module implementation 
      5          *
      6          *        (c) Copyright Actions Co,Ld.                             
      7          *
      8          *  $Id: ui_scroll.c,v 1.3 2004/12/30 09:22:32 ybfu Exp $
      9          *******************************************************************************
     10          */
     11          /*
     12          这个函数的作用是在汇编程序外包一层 C ,这样汇编在C中用BANK方式CALL 
     13          */
     14          #include "actos.h"
     15          #include "ap_common.h"
     16          
     17          ///-extern char *str_pt;//字符串当前指针
     18          ///-extern char *strhead_pt;//字串首址记录   
     19          ///-extern BYTE scroll_cnt;
     20          
     21          void ScrollInit_sub(char *str,char language);
     22          
     23          /* (字符串首址,是否初始化true为要初始化) */
     24          void ScrollInit( char * scrollstr, char language) 
     25          {
   \   0000  C5                PUSH    BC
   \   0001  D5                PUSH    DE
   \   0002  F5                PUSH    AF
   \   0003  F5                PUSH    AF
     26                    region_t tregion;
     27                    
     28                    tregion.x = scrollregionx_def;
   \   0004  210000            LD      HL,0
   \   0007  39                ADD     HL,SP
   \   0008  3630              LD      (HL),48
     29              tregion.y = scrollregiony_def;
   \   000A  23                INC     HL
   \   000B  362D              LD      (HL),45
     30              tregion.width = scrollregionw_def;
   \   000D  23                INC     HL
   \   000E  3680              LD      (HL),128
     31              tregion.height = scrollregionh_def;
   \   0010  23                INC     HL
   \   0011  3610              LD      (HL),16
     32                    
     33              SetAsciiFont(FONT_TYPE_LARGE);
   \   0013  1E04              LD      E,4
   \   0015  CD0000            CALL    LWRD SetAsciiFont
     34              SetBackgdColor(Color_MENU_def);
   \   0018  010000            LD      BC,0
   \   001B  11FFFF            LD      DE,65535
   \   001E  CD0000            CALL    LWRD SetBackgdColor
     35              
     36              TextOutRect(&tregion ,1);
   \   0021  0E01              LD      C,1
   \   0023  210000            LD      HL,0
   \   0026  39                ADD     HL,SP
   \   0027  EB                EX      DE,HL
   \   0028  CD0000            CALL    LWRD TextOutRect
     37              ScrollInit_sub(scrollstr,language);
   \   002B  210600            LD      HL,6
   \   002E  39                ADD     HL,SP
   \   002F  4E                LD      C,(HL)
   \   0030  2B                DEC     HL
   \   0031  2B                DEC     HL
   \   0032  5E                LD      E,(HL)
   \   0033  23                INC     HL
   \   0034  56                LD      D,(HL)
   \   0035  3E00              LD      A,BYTE3 ScrollInit_sub
   \   0037  219700            LD      HL,LWRD ScrollInit_sub
   \   003A  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     38              TextOutRect(&tregion ,0);
   \   003D  0E00              LD      C,0
   \   003F  69                LD      L,C
   \   0040  61                LD      H,C
   \   0041  39                ADD     HL,SP
   \   0042  EB                EX      DE,HL
   \   0043  CD0000            CALL    LWRD TextOutRect
     39              
     40              ///-SetBackgdColor(Color_MENU_def);
     41              SetAsciiFont(FONT_TYPE_DEFAULT);
   \   0046  1E04              LD      E,4
   \   0048  CD0000            CALL    LWRD SetAsciiFont
     42              return;
     43          }
   \   004B  E1                POP     HL
   \   004C  E1                POP     HL
   \   004D  E1                POP     HL
   \   004E  E1                POP     HL
   \   004F  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0052            ReadCode_sub:
     44          
     45          int ReadCode_sub(char *tmpstrpt1,char language)
     46          {
   \   0052  FDE5              PUSH    IY
   \   0054  DDE5              PUSH    IX
   \   0056  C5                PUSH    BC
   \   0057  D5                PUSH    DE
   \   0058  DDE1              POP     IX
     47                                          int code;
     48          
     49                  if((language>4)||(language==1))
   \   005A  3E04              LD      A,4
   \   005C  B9                CP      C
   \   005D  3825              JR      C,?0014
   \   005F  41                LD      B,C
   \   0060  05                DEC     B
   \   0061  2821              JR      Z,?0014
   \   0063            ?0004:
   \   0063            ?0005:
   \   0063            ?0002:
     50                  {//ASCII
     51                          code = *tmpstrpt1;
   \   0063            ?0003:
     52                  }
     53                  else if(language==3)
   \   0063  210000            LD      HL,0
   \   0066  39                ADD     HL,SP
   \   0067  7E                LD      A,(HL)
   \   0068  FE03              CP      3
   \   006A  DD7E00            LD      A,(IX+0)
   \   006D  2006              JR      NZ,?0008
   \   006F            ?0007:
     54                  {//jap
     55                      if (*tmpstrpt1 >= 0x81)     
   \   006F  FE81              CP      129
   \   0071  3811              JR      C,?0014
   \   0073            ?0009:
     56                      {
     57                                          code = *(int *)tmpstrpt1;
   \   0073  1804              JR      ?0023

⌨️ 快捷键说明

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