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

📄 bottem.lst

📁 弹片机与18b20通讯,显示温度,2位数码管与P0口相连.用扫描方式显示.
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.00  BOTTEM                                                                 05/08/2005 14:40:37 PAGE 1   


C51 COMPILER V7.00, COMPILATION OF MODULE BOTTEM
OBJECT MODULE PLACED IN bottem.OBJ
COMPILER INVOKED BY: D:\Program Files\keil\C51\BIN\C51.EXE bottem.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #pragma REGPARMS CD DB SB OE OT(5)
   2          #include <all.h>
   3          
   4          /************************************************************************
   5          函数功能:       初始化数据缓冲区
   6          入口参数:       bLen:   长度
   7                                  *bpData:数据缓冲区首地址
   8                                  bValue: 初始化值
   9          出口参数:       无
  10          ************************************************************************/
  11          void Init_Array_Func(byte bLen,byte *bpData,byte bValue)
  12          {
  13   1              for (; bLen!=0; bLen--)
  14   1              {
  15   2                      *bpData=bValue;
  16   2                      bpData++;
  17   2              }
  18   1      }
  19          /************************************************************************
  20          函数功能:       二进制数转换为十进制数
  21          入口参数:       dwBin:          二进制数(无符号长整型)
  22                                  *bpBcd:         转换后的十进制数首址
  23          出口参数:       转换的十进制数的个数
  24          ************************************************************************/
  25          byte Bin_Bcd_Func(dword dwBin,byte *bpBcd) 
  26          {
  27   1              byte bpTemp[10],bI,bJ;
  28   1              dword dwTemp;
  29   1              
  30   1              if(!dwBin)
  31   1              {
  32   2                      bpBcd[0] = 0;
  33   2                      return 1;
  34   2              }
  35   1              dwTemp = dwBin;
  36   1              bI = 0;
  37   1              while(1)
  38   1              {
  39   2                      if(!dwTemp)
  40   2                              break;
  41   2                      bJ = dwTemp % 10;
  42   2                      dwTemp /= 10;
  43   2                      bpTemp[bI] = bJ;
  44   2                      bI++;
  45   2              }
  46   1              for(bJ = 0; bJ < bI; bJ++)
  47   1                      bpBcd[bJ] = bpTemp[bI-bJ-1];
  48   1              return bI;
  49   1      }
  50          /************************************************************************
  51          函数功能:       将数组数据右移若干位
  52          入口参数:       *bpData:        数据流首址
  53                                  bSteps:         右移位数
  54                                  bLen:           移动前数据流长度
  55                                  bFill:          补入的数据值
C51 COMPILER V7.00  BOTTEM                                                                 05/08/2005 14:40:37 PAGE 2   

  56          出口参数:       移动后数据流长度
  57          ************************************************************************/
  58          byte Right_Move(byte *bpData,byte bSteps,byte bLen,byte bFill)
  59          {
  60   1              byte bI;
  61   1      
  62   1              for(bI = bLen; bI > 0; bI--)
  63   1                      bpData[bI + bSteps - 1] = bpData[bI - 1];
  64   1              for(bI = 0; bI < bSteps; bI++)
  65   1                      bpData[bI] = bFill;
  66   1              return (bSteps + bLen);
  67   1      }
C51 COMPILER V7.00  BOTTEM                                                                 05/08/2005 14:40:37 PAGE 3   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION _Init_Array_Func (BEGIN)
                                           ; SOURCE LINE # 11
;---- Variable 'bLen' assigned to Register 'R7' ----
;---- Variable 'bpData' assigned to Register 'R1/R2/R3' ----
                                           ; SOURCE LINE # 12
                                           ; SOURCE LINE # 13
0000         ?C0001:
0000 EF                MOV     A,R7
0001 600F              JZ      ?C0004
                                           ; SOURCE LINE # 14
                                           ; SOURCE LINE # 15
0003 E500        R     MOV     A,bValue
0005 120000      E     LCALL   ?C?CSTPTR
                                           ; SOURCE LINE # 16
0008 7401              MOV     A,#01H
000A 29                ADD     A,R1
000B F9                MOV     R1,A
000C E4                CLR     A
000D 3A                ADDC    A,R2
000E FA                MOV     R2,A
                                           ; SOURCE LINE # 17
000F 1F                DEC     R7
0010 80EE              SJMP    ?C0001
                                           ; SOURCE LINE # 18
0012         ?C0004:
0012 22                RET     
             ; FUNCTION _Init_Array_Func (END)

             ; FUNCTION _Bin_Bcd_Func (BEGIN)
                                           ; SOURCE LINE # 25
0000 8F00        R     MOV     dwBin+03H,R7
0002 8E00        R     MOV     dwBin+02H,R6
0004 8D00        R     MOV     dwBin+01H,R5
0006 8C00        R     MOV     dwBin,R4
0008 8B00        R     MOV     bpBcd,R3
000A 8A00        R     MOV     bpBcd+01H,R2
000C 8900        R     MOV     bpBcd+02H,R1
                                           ; SOURCE LINE # 26
                                           ; SOURCE LINE # 30
000E EC                MOV     A,R4
000F 4D                ORL     A,R5
0010 4E                ORL     A,R6
0011 4F                ORL     A,R7
0012 7006              JNZ     ?C0005
                                           ; SOURCE LINE # 31
                                           ; SOURCE LINE # 32
0014 120000      E     LCALL   ?C?CSTPTR
                                           ; SOURCE LINE # 33
0017 7F01              MOV     R7,#01H
0019 22                RET     
                                           ; SOURCE LINE # 34
001A         ?C0005:
                                           ; SOURCE LINE # 35
001A 850000      R     MOV     dwTemp+03H,dwBin+03H
001D 850000      R     MOV     dwTemp+02H,dwBin+02H
0020 850000      R     MOV     dwTemp+01H,dwBin+01H
0023 850000      R     MOV     dwTemp,dwBin
                                           ; SOURCE LINE # 36
0026 E4                CLR     A
C51 COMPILER V7.00  BOTTEM                                                                 05/08/2005 14:40:37 PAGE 4   

0027 F500        R     MOV     bI,A
0029         ?C0007:
                                           ; SOURCE LINE # 37
                                           ; SOURCE LINE # 38
                                           ; SOURCE LINE # 39
0029 AF00        R     MOV     R7,dwTemp+03H
002B AE00        R     MOV     R6,dwTemp+02H
002D AD00        R     MOV     R5,dwTemp+01H
002F AC00        R     MOV     R4,dwTemp
0031 EC                MOV     A,R4
0032 4D                ORL     A,R5
0033 4E                ORL     A,R6
0034 4F                ORL     A,R7
0035 6039              JZ      ?C0008
                                           ; SOURCE LINE # 40
0037         ?C0009:
                                           ; SOURCE LINE # 41
0037 E4                CLR     A
0038 7B0A              MOV     R3,#0AH
003A FA                MOV     R2,A
003B F9                MOV     R1,A
003C F8                MOV     R0,A
003D AF00        R     MOV     R7,dwTemp+03H
003F AE00        R     MOV     R6,dwTemp+02H
0041 AD00        R     MOV     R5,dwTemp+01H
0043 AC00        R     MOV     R4,dwTemp
0045 120000      E     LCALL   ?C?ULDIV
0048 AF03              MOV     R7,AR3
004A 8F00        R     MOV     bJ,R7
                                           ; SOURCE LINE # 42
004C AF00        R     MOV     R7,dwTemp+03H
004E AE00        R     MOV     R6,dwTemp+02H
0050 AD00        R     MOV     R5,dwTemp+01H
0052 AC00        R     MOV     R4,dwTemp
0054 E4                CLR     A
0055 7B0A              MOV     R3,#0AH
0057 FA                MOV     R2,A
0058 F9                MOV     R1,A
0059 F8                MOV     R0,A
005A 120000      E     LCALL   ?C?ULDIV
005D 8F00        R     MOV     dwTemp+03H,R7
005F 8E00        R     MOV     dwTemp+02H,R6
0061 8D00        R     MOV     dwTemp+01H,R5
0063 8C00        R     MOV     dwTemp,R4
                                           ; SOURCE LINE # 43
0065 7400        R     MOV     A,#LOW bpTemp
0067 2500        R     ADD     A,bI
0069 F8                MOV     R0,A
006A A600        R     MOV     @R0,bJ
                                           ; SOURCE LINE # 44
006C 0500        R     INC     bI
                                           ; SOURCE LINE # 45
006E 80B9              SJMP    ?C0007
0070         ?C0008:
                                           ; SOURCE LINE # 46
0070 E4                CLR     A
0071 F500        R     MOV     bJ,A
0073         ?C0010:
0073 E500        R     MOV     A,bJ
0075 C3                CLR     C
0076 9500        R     SUBB    A,bI
0078 501C              JNC     ?C0011
C51 COMPILER V7.00  BOTTEM                                                                 05/08/2005 14:40:37 PAGE 5   

⌨️ 快捷键说明

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