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

📄 sdrv_init.lst

📁 MP3 整个 SDK
💻 LST
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       28/Dec/106  14:32:09 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  large                                               #
#       Source file   =  d:\case_i_d90f\drv\ui_ssd1332\sdrv\sdrv_init.c      #
#       List file     =  d:\case_i_d90f\drv\ui_ssd1332\ui_ssd13\list\sdrv_init.lst#
#       Object file   =  d:\case_i_d90f\drv\ui_ssd1332\ui_ssd13\obj\sdrv_init.r01#
#       ASM file      =  d:\case_i_d90f\drv\ui_ssd1332\ui_ssd13\list\sdrv_init.s01#
#       Command line  =  -v0 -ml -uu                                         #
#                        -OD:\case_i_d90f\drv\Ui_SSD1332\UI_SSD13\Obj\ -e    #
#                        -K -w -gA -s9 -RCODE -r0 -DIC3951 -DNAPDEBUG        #
#                        -LD:\case_i_d90f\drv\Ui_SSD1332\UI_SSD13\List\ -q   #
#                        -t8 -AD:\case_i_d90f\drv\Ui_SSD1332\UI_SSD13\List\  #
#                        -Id:\sdk_i_90f\inc\ -Id:\case_i_d90f\inc\           #
#                        -Id:\case_i_d90f\drv\Ui_SSD1332\inc\                #
#                        D:\CASE_I_D90F\DRV\UI_SSD1332\SDRV\sdrv_init.c      #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    sdrv_init(16)
   \   0000                    RSEG    BBC_IE(0)
   \   0000                    RSEG    UDATA0(0)
   \   0000                    RSEG    BBD_IE(0)
   \   0000                    RSEG    BBS_IE(0)
   \   0000                    EXTERN  AsciiFontLibAddr
   \   0000                    PUBLIC  AsciiFontName
   \   0000                    EXTERN  BufPage
   \   0000                    EXTERN  Drv_Entrance
   \   0000                    EXTERN  FontLibAddr
   \   0000                    PUBLIC  FontLibName
   \   0000                    EXTERN  Hdrv_HardInit
   \   0000                    EXTERN  SD_FClose
   \   0000                    EXTERN  SD_FOpen
   \   0000                    PUBLIC  Sdrv_Exit
   \   0000                    PUBLIC  Sdrv_Init
   \   0000                    PUBLIC  fp
   \   0000                    PUBLIC  test
   \   0000                    EXTERN  ?CLZ80L_4_04_L00
   \   0000                    RSEG    BBC_IE
   \   0000            Sdrv_Init:
      1          /*
      2          ********************************************************************************
      3          *                       ACTOS
      4          *                  UI Init function
      5          *
      6          *                (c) Copyright 2002-2003, Actions Co,Ld.
      7          *                        All Right Reserved
      8          *
      9          * File   : UI_Init.msa
     10          * By     : Gongee
     11          * Version: 1> v1.00     first version     10/17/2003 9:47PM
     12          ********************************************************************************
     13          */
     14          
     15          #include "display.h"
     16          #include "Drv_S6B33B0A.h"
     17          
     18          //#define DEBUG
     19          #ifdef DEBUG
     20          #define ERR(x) x
     21          #define MSG(x) x
     22          #else
     23          #define ERR(x)
     24          #define MSG(x)
     25          #endif
     26          
     27          char test;
     28          
     29          #pragma memory=dataseg(BBD_IE)
     30          SD_FILE *fp;
     31          //extern  unsigned char BufPage;
     32          #pragma memory=default
     33          
     34          #pragma memory=constseg(BBS_IE)
     35          char AsciiFontName[] = "ASCII.BIN";
     36          char FontLibName[] = "FONT_GB.$$$";
     37          #pragma memory=default
     38          
     39          #pragma codeseg(BBC_IE)
     40          bool    Sdrv_Init(char mode)
     41          {
   \   0000  C5                PUSH    BC
   \   0001  FDE5              PUSH    IY
   \   0003  DDE5              PUSH    IX
   \   0005  D5                PUSH    DE
   \   0006  F5                PUSH    AF
   \   0007  F5                PUSH    AF
     42                  test=0xff;
   \   0008  3EFF              LD      A,255
   \   000A  320000            LD      (test),A
     43                  fp = SD_FOpen(AsciiFontName,MODE_READ);
   \   000D  0E00              LD      C,0
   \   000F  110000            LD      DE,AsciiFontName
   \   0012  CD0000            CALL    SD_FOpen
   \   0015  220000            LD      (fp),HL
     44                  if (fp == NULL)
   \   0018  7D                LD      A,L
   \   0019  B4                OR      H
   \   001A  282D              JR      Z,?0008
   \   001C            ?0000:
     45                  {
     46                          ERR(printf("Cannot open Fontlib\n"));
     47                          return 0;
     48                  }
   \   001C            ?0001:
     49                  AsciiFontLibAddr = fp->startaddr;
   \   001C  210C00            LD      HL,12
   \   001F  ED4B0000          LD      BC,(fp)
   \   0023  09                ADD     HL,BC
   \   0024  4E                LD      C,(HL)
   \   0025  23                INC     HL
   \   0026  46                LD      B,(HL)
   \   0027  23                INC     HL
   \   0028  5E                LD      E,(HL)
   \   0029  23                INC     HL
   \   002A  56                LD      D,(HL)
   \   002B  ED430000          LD      (AsciiFontLibAddr),BC
   \   002F  ED530200          LD      (AsciiFontLibAddr+2),DE
     50                  SD_FClose(fp);
   \   0033  ED5B0000          LD      DE,(fp)
   \   0037  CD0000            CALL    SD_FClose
     51          
     52                  fp = SD_FOpen(FontLibName,MODE_READ);
   \   003A  0E00              LD      C,0
   \   003C  110A00            LD      DE,FontLibName
   \   003F  CD0000            CALL    SD_FOpen
   \   0042  220000            LD      (fp),HL
     53                  if (fp == NULL)
   \   0045  7D                LD      A,L
   \   0046  B4                OR      H
   \   0047  2003              JR      NZ,?0003
   \   0049            ?0002:
     54                  {
     55                          ERR(printf("Cannot open Fontlib\n"));
     56                          return 0;
   \   0049            ?0008:
   \   0049  AF                XOR     A
     57                  }
   \   004A  1842              JR      ?0006
   \   004C            ?0003:
     58                  FontLibAddr = fp->startaddr;
   \   004C  210C00            LD      HL,12
   \   004F  ED4B0000          LD      BC,(fp)
   \   0053  09                ADD     HL,BC
   \   0054  4E                LD      C,(HL)
   \   0055  23                INC     HL
   \   0056  46                LD      B,(HL)
   \   0057  23                INC     HL
   \   0058  5E                LD      E,(HL)
   \   0059  23                INC     HL
   \   005A  56                LD      D,(HL)
   \   005B  ED430000          LD      (FontLibAddr),BC
   \   005F  ED530200          LD      (FontLibAddr+2),DE
     59                  SD_FClose(fp);
   \   0063  ED5B0000          LD      DE,(fp)
   \   0067  CD0000            CALL    SD_FClose
     60          
     61                  BufPage=0x07;           //Buffer默认位于Zram2
   \   006A  3E07              LD      A,7
   \   006C  320000            LD      (BufPage),A
     62          
     63          
     64                    //安装驱动时必须重新初始化中断向量
     65                    {
     66                      char *i;
     67                      int  *j;
     68          
     69                      //********** 显示中断向量的赋值 ********
     70                      i = (char *)RSTDisplayAPI;
   \   006F  DD212000          LD      IX,32
     71                      *i = 0xc3;
   \   0073  DD3600C3          LD      (IX+0),195
     72                      i++;
     73                      j = (int *)i;
   \   0077  DD23              INC     IX
   \   0079  DDE5              PUSH    IX
   \   007B  E1                POP     HL
     74                      *j = (int)&Drv_Entrance;
   \   007C  3600              LD      (HL),LOW(Drv_Entrance)
   \   007E  23                INC     HL
   \   007F  3600              LD      (HL),HIGH(Drv_Entrance)
     75                    }
     76                  if(mode==0)
   \   0081  210400            LD      HL,4
   \   0084  39                ADD     HL,SP
   \   0085  AF                XOR     A
   \   0086  B6                OR      (HL)
   \   0087  2003              JR      NZ,?0005
   \   0089            ?0004:
     77          
     78                  {
     79                    Hdrv_HardInit();
   \   0089  CD0000            CALL    Hdrv_HardInit
   \   008C            ?0005:
     80                  }
     81          
     82                  //ld      a,0xc3 // jp 指令
     83                  //ld      (RSTDisplayAPI),a
     84                  //ld      hl,Drv_Entrance
     85                  //ld      (RSTDisplayAPI+1),hl
     86          
     87                  return 1;
   \   008C  3E01              LD      A,1
     88          }
   \   008E            ?0006:
   \   008E  E1                POP     HL
   \   008F  E1                POP     HL
   \   0090  E1                POP     HL
   \   0091  DDE1              POP     IX
   \   0093  FDE1              POP     IY
   \   0095  C1                POP     BC
   \   0096  C9                RET
   \   0097            Sdrv_Exit:
     89          
     90          void Sdrv_Exit(void)
     91          {
     92              return;
     93          }
   \   0097  C9                RET
   \   0000                    RSEG    UDATA0
   \   0000            test:
   \   0001                    DEFS    1
   \   0000                    RSEG    BBD_IE
   \   0000            fp:
   \   0002                    DEFS    2
   \   0000                    RSEG    BBS_IE
   \   0000            AsciiFontName:
   \   0000  41534349          DEFB    'ASCII.BIN'
   \   0004  492E4249
   \   0008  4E
   \   0009  00                DEFB    0
   \   000A            FontLibName:
   \   000A  464F4E54          DEFB    'FONT_GB.$$$'
   \   000E  5F47422E
   \   0012  242424
   \   0015  00                DEFB    0
   \   0016                    END

Errors: none
Warnings: none
Code size: 152
Constant size: 22
Static variable size: Data(3) Iram(0)

⌨️ 快捷键说明

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