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

📄 main.lst

📁 《单片机c程序设计及应用实列》一书的源代
💻 LST
字号:
C51 COMPILER V6.02  MAIN                                                                   09/15/2002 23:41:50 PAGE 1   


C51 COMPILER V6.02, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN .\main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE .\main.c LARGE DEBUG OBJECTEXTEND CODE SYMBOLS PREPRINT

stmt level    source

   1          #include <REG52.H>                /* special function register declarations   */
   2                                            /* for the intended 8051 derivative         */
   3          
   4          #include <stdio.h>                /* prototype declarations for I/O functions */
   5          
   6          #include "def.h"
   7          
   8          #ifdef MONITOR51                         /* Debugging with Monitor-51 needs   */
              char code reserve [3] _at_ 0x23;         /* space for serial interrupt if     */
              #endif                                   /* Stop Exection with Serial Intr.   */
  11                                                   /* is enabled                        */
  12          
  13          
  14          										 
  15          #define MAXLINE 100 /*最大输入行长度*/
  16          char pattern[] = "ould"; /*要查找的模式*/
  17          									
  18          /*------------------------------------------------
  19          The main C function.  Program execution starts
  20          here after stack initialization.
  21          ------------------------------------------------*/
  22          void main (void) {
  23   1      
  24   1      	char line[MAXLINE];
  25   1      	int found = 0;
  26   1      /*------------------------------------------------
  27   1      Setup the serial port for 1200 baud at 16MHz.
  28   1      ------------------------------------------------*/
  29   1      #ifndef MONITOR51
  30   1          SCON  = 0x50;		        /* SCON: mode 1, 8-bit UART, enable rcvr      */
  31   1          TMOD |= 0x20;               /* TMOD: timer 1, mode 2, 8-bit reload        */
  32   1          TH1   = 221;                /* TH1:  reload value for 1200 baud @ 16MHz   */
  33   1          TR1   = 1;                  /* TR1:  timer 1 run                          */
  34   1          TI    = 1;                  /* TI:   set TI to send first char of UART    */
  35   1      #endif
  36   1      /*------------------------------------------------
  37   1      Note that an embedded program never exits (because
  38   1      there is no operating system to return to).  It
  39   1      must loop and execute forever.
  40   1      ------------------------------------------------*/
  41   1      	while ( getline(line, MAXLINE) > 0 )
  42   1      		if ( strindex(line, pattern) >= 0 ) {
  43   2      			printf( "%s", line);
  44   2      			found++;
  45   2      		}
  46   1      	printf("\n%d match found",found);
  47   1          while (1) {};
  48   1      }
  49          
  50          
C51 COMPILER V6.02  MAIN                                                                   09/15/2002 23:41:50 PAGE 2   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION main (BEGIN)
                                           ; SOURCE LINE # 22
                                           ; SOURCE LINE # 25
0000 E4                CLR     A
0001 900000      R     MOV     DPTR,#found
0004 F0                MOVX    @DPTR,A
0005 A3                INC     DPTR
0006 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 30
0007 759850            MOV     SCON,#050H
                                           ; SOURCE LINE # 31
000A 438920            ORL     TMOD,#020H
                                           ; SOURCE LINE # 32
000D 758DDD            MOV     TH1,#0DDH
                                           ; SOURCE LINE # 33
0010 D28E              SETB    TR1
                                           ; SOURCE LINE # 34
0012 D299              SETB    TI
0014         ?C0001:
                                           ; SOURCE LINE # 41
0014 7B01              MOV     R3,#01H
0016 7A00        R     MOV     R2,#HIGH line
0018 7900        R     MOV     R1,#LOW line
001A 7D64              MOV     R5,#064H
001C 7C00              MOV     R4,#00H
001E 120000      E     LCALL   _getline
0021 D3                SETB    C
0022 EF                MOV     A,R7
0023 9400              SUBB    A,#00H
0025 EE                MOV     A,R6
0026 6480              XRL     A,#080H
0028 9480              SUBB    A,#080H
002A 4046              JC      ?C0002
                                           ; SOURCE LINE # 42
002C 900000      E     MOV     DPTR,#?_strindex?BYTE+03H
002F 7401              MOV     A,#01H
0031 F0                MOVX    @DPTR,A
0032 A3                INC     DPTR
0033 7400        R     MOV     A,#HIGH pattern
0035 F0                MOVX    @DPTR,A
0036 A3                INC     DPTR
0037 7400        R     MOV     A,#LOW pattern
0039 F0                MOVX    @DPTR,A
003A 7B01              MOV     R3,#01H
003C 7A00        R     MOV     R2,#HIGH line
003E 7900        R     MOV     R1,#LOW line
0040 120000      E     LCALL   _strindex
0043 C3                CLR     C
0044 EE                MOV     A,R6
0045 6480              XRL     A,#080H
0047 9480              SUBB    A,#080H
0049 40C9              JC      ?C0001
                                           ; SOURCE LINE # 43
004B 900000      E     MOV     DPTR,#?_printf?BYTE+03H
004E 7401              MOV     A,#01H
0050 F0                MOVX    @DPTR,A
0051 A3                INC     DPTR
0052 7400        R     MOV     A,#HIGH line
0054 F0                MOVX    @DPTR,A
C51 COMPILER V6.02  MAIN                                                                   09/15/2002 23:41:50 PAGE 3   

0055 A3                INC     DPTR
0056 7400        R     MOV     A,#LOW line
0058 F0                MOVX    @DPTR,A
0059 7BFF              MOV     R3,#0FFH
005B 7A00        R     MOV     R2,#HIGH ?SC_0
005D 7900        R     MOV     R1,#LOW ?SC_0
005F 120000      E     LCALL   _printf
                                           ; SOURCE LINE # 44
0062 900000      R     MOV     DPTR,#found+01H
0065 E0                MOVX    A,@DPTR
0066 04                INC     A
0067 F0                MOVX    @DPTR,A
0068 70AA              JNZ     ?C0001
006A 900000      R     MOV     DPTR,#found
006D E0                MOVX    A,@DPTR
006E 04                INC     A
006F F0                MOVX    @DPTR,A
0070         ?C0007:
                                           ; SOURCE LINE # 45
0070 80A2              SJMP    ?C0001
0072         ?C0002:
                                           ; SOURCE LINE # 46
0072 7BFF              MOV     R3,#0FFH
0074 7A00        R     MOV     R2,#HIGH ?SC_3
0076 7900        R     MOV     R1,#LOW ?SC_3
0078 900000      R     MOV     DPTR,#found
007B E0                MOVX    A,@DPTR
007C FF                MOV     R7,A
007D A3                INC     DPTR
007E E0                MOVX    A,@DPTR
007F 900000      E     MOV     DPTR,#?_printf?BYTE+03H
0082 CF                XCH     A,R7
0083 F0                MOVX    @DPTR,A
0084 A3                INC     DPTR
0085 EF                MOV     A,R7
0086 F0                MOVX    @DPTR,A
0087 120000      E     LCALL   _printf
008A         ?C0004:
                                           ; SOURCE LINE # 47
008A 80FE              SJMP    ?C0004
                                           ; SOURCE LINE # 48
             ; FUNCTION main (END)

C51 COMPILER V6.02  MAIN                                                                   09/15/2002 23:41:50 PAGE 4   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
pattern. . . . . . . . . . . . . . . .  PUBLIC   XDATA  ARRAY    0000H  5
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
T2 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
size_t . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
EXF2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CEH  1
RD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
ES . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ACH  1
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
INT0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
CY . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D7H  1
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
INT1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
PS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BCH  1
T2EX . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0091H  1
OV . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D2H  1
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  line . . . . . . . . . . . . . . . .  AUTO     XDATA  ARRAY    0000H  100
  found. . . . . . . . . . . . . . . .  AUTO     XDATA  INT      0064H  2
C_T2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C9H  1
WR . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
RCLK . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CDH  1
TCLK . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CCH  1
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
TMOD . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0089H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  1
CP_RL2 . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C8H  1
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
ET1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ABH  1
TF0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008DH  1
ET2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ADH  1
TF1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008FH  1
_getline . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
TF2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CFH  1
RB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009AH  1
EX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A8H  1
IT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0088H  1
TH1. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008DH  1
TB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009BH  1
EX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AAH  1
IT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008AH  1
P. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D0H  1
SM0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009FH  1
SM1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009EH  1
SM2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009DH  1
PT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B9H  1
PT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BBH  1
RS0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D3H  1
_strindex. . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
C51 COMPILER V6.02  MAIN                                                                   09/15/2002 23:41:50 PAGE 5   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


PT2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BDH  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
RS1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D4H  1
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
TR2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CAH  1
PX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B8H  1
PX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BAH  1
EXEN2. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CBH  1
REN. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009CH  1
T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
RXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
TXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
F0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D5H  1
_printf. . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
PSW. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D0H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    140    ----
   CONSTANT SIZE    =     19    ----
   XDATA SIZE       =      5     102
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   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 + -