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

📄 ms_rwreg.lst

📁 Maria2 CarTV 20060707 Tony
💻 LST
字号:
C51 COMPILER V8.01   MS_RWREG                                                              11/28/2006 08:08:05 PAGE 1   


C51 COMPILER V8.01, COMPILATION OF MODULE MS_RWREG
OBJECT MODULE PLACED IN ..\..\1out\ms_rwreg.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\..\kernal\ms_rwreg.c BROWSE INCDIR(..\..\inc;..\..\mslib;..\..\Device;..
                    -\..\kernal;..\..\msFunc;..\..\pc;..\..\tv) DEBUG OBJECTEXTEND PRINT(..\..\1out\ms_rwreg.lst) OBJECT(..\..\1out\ms_rwreg.
                    -obj)

line level    source

   1          #define _MSRWREG_C_
   2          
   3          #include <intrins.h>
   4          #include "types.h"
   5          #include "board.h"
   6          #include "ms_reg.h"
   7          #include "global.h"
   8          #include "misc.h"
   9          #include "DEBUG.h"
  10          extern void Delay4us(void);
  11          
  12          #define Delay1us()      _nop_()//;_nop_()
  13          
  14          #define MS_REG(addr)            (((unsigned char xdata*)0)[addr])
  15          /////////////////////////////////////////////////////////////////////////
  16          BYTE msReadByte(BYTE addr)
  17          {
  18   1              //return MS_REG(addr);
  19   1              return *((BYTE pdata*) addr);
  20   1      }
  21          WORD msReadWord(BYTE addr)
  22          { WORD value;
  23   1      
  24   1        value=msReadByte(addr);
  25   1        value=(value<<8)|msReadByte(addr-1);
  26   1      
  27   1        return value;
  28   1      }
  29          void msWriteByte(BYTE addr, BYTE value)
  30          {
  31   1              //MS_REG(addr)=value;
  32   1              *((BYTE pdata*) addr) = value;
  33   1      }
  34          void msWriteWord(BYTE addr, WORD value)
  35          { msWriteByte(addr-1, value&0xFF);
  36   1        msWriteByte(addr, value>>8);
  37   1      }
  38          
  39          void msWriteByte_Bank_BackupBank( BYTE ucBank, BYTE ucReg, BYTE ucData )
  40          {
  41   1          BYTE ucBackupBank = msReadByte( BK0_00_REGBK);
  42   1      
  43   1          msWriteByte( BK0_00_REGBK, ucBank );
  44   1          msWriteByte( ucReg, ucData );
  45   1      
  46   1          msWriteByte( BK0_00_REGBK, ucBackupBank );
  47   1      }
  48          
  49          /*
  50          void msWriteByteMask_Bank_BackupBank(BYTE ucBank, BYTE ucReg, BYTE ucValue, BYTE ucMask)
  51          {
  52              BYTE ucBackupBank = msReadByte( BK0_00_REGBK);
  53              BYTE uc;
C51 COMPILER V8.01   MS_RWREG                                                              11/28/2006 08:08:05 PAGE 2   

  54          
  55              msWriteByte( BK0_00_REGBK, ucBank );
  56          
  57              uc = msReadByte(ucReg) & (~ucMask);
  58              msWriteByte( ucReg, ( uc | (ucValue & ucMask)) );
  59          
  60              msWriteByte( BK0_00_REGBK, ucBackupBank );
  61          }
  62          */
  63          
  64          void msWriteTBL(BYTE addr, BYTE *tbl, WORD count, BYTE inc)
  65          {
  66   1      while (count--)
  67   1          { msWriteByte(addr, *(tbl++));
  68   2          }
  69   1              //printf("count====%x", count);
  70   1      
  71   1        inc=0;
  72   1      }
  73          
  74          void msWriteRegsTbl(RegUnitType *pTable)
  75          {
  76   1          BYTE ucIndex; // register index
  77   1      
  78   1          while (1)
  79   1          {
  80   2               ucIndex = pTable->Reg; // get register index
  81   2               if (ucIndex == _END_OF_TBL_) // check end of table
  82   2                   break;
  83   2      
  84   2               msWriteByte(ucIndex, pTable->Value); // write register
  85   2      
  86   2               pTable++; // next
  87   2          } // while
  88   1      }
  89          
  90          void msLoadModeIndexTBL(DynamicLoadModeTblType  *pTable)
  91          {
  92   1        BYTE ucBank;
  93   1        RegUnitType *RegType;
  94   1        RegType=pTable->PtrRegTbl;
  95   1      
  96   1        ucBank=msReadByte(BK0_00_REGBK);
  97   1      
  98   1        msWriteByte(BK0_00_REGBK, REG_BANK_SCALER);
  99   1        while(1)
 100   1         {
 101   2              if (pTable->InputType==_END_OF_TBL_)
 102   2                 break;
 103   2              if (((1<<g_VideoSetting.InputType)&(pTable->InputType)) \
 104   2                  &&(g_ucSrcModeIndex==pTable->ModeIndex))
 105   2                      {
 106   3                         while(1)
 107   3                              {
 108   4                                if (RegType->Reg== _END_OF_TBL_) // check end of table
 109   4                                  break;
 110   4                              msWriteByte(RegType->Reg, RegType->Value); // write register
 111   4                              RegType++; // next
 112   4                              }
 113   3                      }
 114   2                 pTable++;
 115   2                 RegType=pTable->PtrRegTbl;
C51 COMPILER V8.01   MS_RWREG                                                              11/28/2006 08:08:05 PAGE 3   

 116   2         }
 117   1      
 118   1          msWriteByte( BK0_00_REGBK, ucBank );
 119   1      }
 120          
 121          void msWriteByteMask(BYTE ucReg, BYTE ucValue, BYTE ucMask)
 122          {
 123   1          BYTE uc;
 124   1      
 125   1          uc = msReadByte(ucReg) & (~ucMask);
 126   1          msWriteByte( ucReg, ( uc | (ucValue & ucMask)) );
 127   1      }
 128          
 129          /*
 130          void msWriteByte_Bank( BYTE ucBank, BYTE ucReg, BYTE ucData )
 131          {
 132              msWriteByte( BK0_00_REGBK, ucBank );
 133              msWriteByte( ucReg, ucData );
 134          }
 135          */
 136          void msWriteBit(BYTE ucReg, BOOL bBit, BYTE ucBitPos)
 137          {
 138   1          BYTE ucValue;
 139   1      
 140   1          ucValue = msReadByte(ucReg);
 141   1          if(bBit)
 142   1          {
 143   2              ucValue = ucValue | ucBitPos;
 144   2          }
 145   1          else
 146   1          {
 147   2              ucValue = ucValue & (~ucBitPos);
 148   2          }
 149   1          msWriteByte(ucReg, ucValue);
 150   1      }
 151          
 152          
 153          void msWrite3Bytes(BYTE ucReg, DWORD dwValue)
 154          {
 155   1              msWriteByte(ucReg, (BYTE)(dwValue / 0x10000));
 156   1              msWriteByte(ucReg - 1, (BYTE)(dwValue / 0x100));
 157   1              msWriteByte(ucReg - 2, (BYTE)(dwValue));
 158   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    430    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      19
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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