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

📄 51main.lst

📁 这是一个基于STC89C58开发的用于51上的拼音输入法示例KEIL工程
💻 LST
字号:
C51 COMPILER V7.08   51MAIN                                                                09/17/2008 11:10:46 PAGE 1   


C51 COMPILER V7.08, COMPILATION OF MODULE 51MAIN
OBJECT MODULE PLACED IN 51main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 51main.c OPTIMIZE(1,SPEED) BROWSE CODE DEBUG OBJECTEXTEND

line level    source

   1          /***************************************************************/
   2          /*********    T9 拼音测试例程 C51 for STC89C58   *************/
   3          /**********    Written by WangBiao---20060824   ****************/
   4          /**************************************************************/
   5          #include<stdio.h>
   6          #include <STC89C51RC_RD_PLUS.H>
   7          //------------------------------------------------
   8          extern char * py_ime(char *);
   9          //------------------------------------------------
  10          void Init_Com(void)     
  11          {       
  12   1              TMOD=0x20; //定时器1,方式2
  13   1              TL1=0xFD; 
  14   1              TH1=0xFD; //11.0592MHZ晶振,波特率为9600
  15   1              PCON=0x00;
  16   1              SCON=0x50; //方式3
  17   1              TR1=1; //启动定时
  18   1      }
  19          //------------------------------------------------
  20          void SendChar(unsigned char InData) 
  21          {               
  22   1              SBUF=InData;
  23   1              while(TI!=1);TI=0;
  24   1      }
  25          //------------------------------------------------
  26          void Delay100mS(unsigned char n) //100ms*N 
  27          { 
  28   1              unsigned char i,j; 
  29   1              
  30   1              while(n--)
  31   1              {
  32   2                      i=100; 
  33   2                      while(i--) 
  34   2                      { 
  35   3                              j=228; 
  36   3                              while(j--); 
  37   3                      }
  38   2              } 
  39   1      } 
  40          //--------------------------------------------------------------------
  41          //####################################################################
  42          //--------------------------------------------------------------------
  43          void main(void)
  44          {
  45   1              unsigned int i;
  46   1          char input_string[]="yi";
  47   1          xdata char chinese_string[255];
  48   1      
  49   1              AUXR=0x01;//STC enable the internal-ram 
  50   1      
  51   1              Init_Com();     
  52   1      
  53   1              while(1)
  54   1          {
  55   2                      //sprint的功能就是把最后一个变量(字符串指针)附值给前面的那个指针
C51 COMPILER V7.08   51MAIN                                                                09/17/2008 11:10:46 PAGE 2   

  56   2                  sprintf(chinese_string,"%s",py_ime(input_string));
  57   2                      //py_ime(input_string);
  58   2                      for (i=0;i<=255;i++)
  59   2                      {
  60   3                              SendChar(chinese_string[i]);
  61   3                              if (chinese_string[i+1]==0x00)i=256;
  62   3                      }
  63   2                      Delay100mS(10);
  64   2          }
  65   1      }
  66          //--------------------------------------------------------------------
  67          //####################################################################
  68          //--------------------------------------------------------------------
C51 COMPILER V7.08   51MAIN                                                                09/17/2008 11:10:46 PAGE 3   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION Init_Com (BEGIN)
                                           ; SOURCE LINE # 10
                                           ; SOURCE LINE # 11
                                           ; SOURCE LINE # 12
0000 758920            MOV     TMOD,#020H
                                           ; SOURCE LINE # 13
0003 758BFD            MOV     TL1,#0FDH
                                           ; SOURCE LINE # 14
0006 758DFD            MOV     TH1,#0FDH
                                           ; SOURCE LINE # 15
0009 758700            MOV     PCON,#00H
                                           ; SOURCE LINE # 16
000C 759850            MOV     SCON,#050H
                                           ; SOURCE LINE # 17
000F D28E              SETB    TR1
                                           ; SOURCE LINE # 18
0011 22                RET     
             ; FUNCTION Init_Com (END)

             ; FUNCTION _SendChar (BEGIN)
                                           ; SOURCE LINE # 20
0000 8F00        R     MOV     InData,R7
                                           ; SOURCE LINE # 21
                                           ; SOURCE LINE # 22
0002 850099      R     MOV     SBUF,InData
0005         ?C0002:
                                           ; SOURCE LINE # 23
0005 3099FD            JNB     TI,?C0002
0008         ?C0003:
0008 C299              CLR     TI
                                           ; SOURCE LINE # 24
000A 22                RET     
             ; FUNCTION _SendChar (END)

             ; FUNCTION _Delay100mS (BEGIN)
                                           ; SOURCE LINE # 26
0000 8F00        R     MOV     n,R7
                                           ; SOURCE LINE # 27
0002         ?C0005:
                                           ; SOURCE LINE # 30
0002 AF00        R     MOV     R7,n
0004 1500        R     DEC     n
0006 EF                MOV     A,R7
0007 6016              JZ      ?C0011
                                           ; SOURCE LINE # 31
                                           ; SOURCE LINE # 32
0009 750064      R     MOV     i,#064H
000C         ?C0007:
                                           ; SOURCE LINE # 33
000C AF00        R     MOV     R7,i
000E 1500        R     DEC     i
0010 EF                MOV     A,R7
0011 60EF              JZ      ?C0005
                                           ; SOURCE LINE # 34
                                           ; SOURCE LINE # 35
0013 7500E4      R     MOV     j,#0E4H
0016         ?C0009:
                                           ; SOURCE LINE # 36
0016 AF00        R     MOV     R7,j
C51 COMPILER V7.08   51MAIN                                                                09/17/2008 11:10:46 PAGE 4   

0018 1500        R     DEC     j
001A EF                MOV     A,R7
001B 60EF              JZ      ?C0007
001D 80F7              SJMP    ?C0009
                                           ; SOURCE LINE # 37
                                           ; SOURCE LINE # 38
                                           ; SOURCE LINE # 39
001F         ?C0011:
001F 22                RET     
             ; FUNCTION _Delay100mS (END)

             ; FUNCTION main (BEGIN)
                                           ; SOURCE LINE # 43
                                           ; SOURCE LINE # 44
                                           ; SOURCE LINE # 46
0000 7BFF              MOV     R3,#0FFH
0002 7A00        R     MOV     R2,#HIGH _?ix1000
0004 7900        R     MOV     R1,#LOW _?ix1000
0006 C003              PUSH    AR3
0008 C002              PUSH    AR2
000A C001              PUSH    AR1
000C 7B00              MOV     R3,#00H
000E 7A00        R     MOV     R2,#HIGH input_string
0010 7900        R     MOV     R1,#LOW input_string
0012 A801              MOV     R0,AR1
0014 AC02              MOV     R4,AR2
0016 AD03              MOV     R5,AR3
0018 D001              POP     AR1
001A D002              POP     AR2
001C D003              POP     AR3
001E 7E00              MOV     R6,#00H
0020 7F03              MOV     R7,#03H
0022 120000      E     LCALL   ?C?COPY
                                           ; SOURCE LINE # 49
0025 758E01            MOV     AUXR,#01H
                                           ; SOURCE LINE # 51
0028 120000      R     LCALL   Init_Com
002B         ?C0012:
                                           ; SOURCE LINE # 53
                                           ; SOURCE LINE # 54
                                           ; SOURCE LINE # 56
002B 7B00              MOV     R3,#00H
002D 7A00        R     MOV     R2,#HIGH input_string
002F 7900        R     MOV     R1,#LOW input_string
0031 120000      E     LCALL   _py_ime
0034 8B00        E     MOV     ?_sprintf?BYTE+06H,R3
0036 8A00        E     MOV     ?_sprintf?BYTE+07H,R2
0038 8900        E     MOV     ?_sprintf?BYTE+08H,R1
003A 7B01              MOV     R3,#01H
003C 7A00        R     MOV     R2,#HIGH chinese_string
003E 7900        R     MOV     R1,#LOW chinese_string
0040 C003              PUSH    AR3
0042 C002              PUSH    AR2
0044 C001              PUSH    AR1
0046 7BFF              MOV     R3,#0FFH
0048 7A00        R     MOV     R2,#HIGH ?SC_0
004A 7900        R     MOV     R1,#LOW ?SC_0
004C 8B00        E     MOV     ?_sprintf?BYTE+03H,R3
004E 8A00        E     MOV     ?_sprintf?BYTE+04H,R2
0050 8900        E     MOV     ?_sprintf?BYTE+05H,R1
0052 D001              POP     AR1
0054 D002              POP     AR2
C51 COMPILER V7.08   51MAIN                                                                09/17/2008 11:10:46 PAGE 5   

0056 D003              POP     AR3
0058 120000      E     LCALL   _sprintf
                                           ; SOURCE LINE # 58
005B 750000      R     MOV     i,#00H
005E 750000      R     MOV     i+01H,#00H
0061         ?C0014:
0061 D3                SETB    C
0062 E500        R     MOV     A,i+01H
0064 94FF              SUBB    A,#0FFH
0066 E500        R     MOV     A,i
0068 9400              SUBB    A,#00H
006A 5032              JNC     ?C0015
                                           ; SOURCE LINE # 59
                                           ; SOURCE LINE # 60
006C AF00        R     MOV     R7,i+01H
006E 7400        R     MOV     A,#LOW chinese_string
0070 2F                ADD     A,R7
0071 F582              MOV     DPL,A
0073 E4                CLR     A
0074 3400        R     ADDC    A,#HIGH chinese_string
0076 F583              MOV     DPH,A
0078 E0                MOVX    A,@DPTR
0079 FF                MOV     R7,A
007A 120000      R     LCALL   _SendChar
                                           ; SOURCE LINE # 61
007D AF00        R     MOV     R7,i+01H
007F 7400        R     MOV     A,#LOW chinese_string+01H
0081 2F                ADD     A,R7
0082 F582              MOV     DPL,A
0084 E4                CLR     A
0085 3400        R     ADDC    A,#HIGH chinese_string+01H
0087 F583              MOV     DPH,A
0089 E0                MOVX    A,@DPTR
008A FF                MOV     R7,A
008B EF                MOV     A,R7
008C 7006              JNZ     ?C0016
008E 750001      R     MOV     i,#01H
0091 750000      R     MOV     i+01H,#00H
                                           ; SOURCE LINE # 62
0094         ?C0016:
0094 0500        R     INC     i+01H
0096 E500        R     MOV     A,i+01H
0098 7002              JNZ     ?C0019
009A 0500        R     INC     i
009C         ?C0019:
009C 80C3              SJMP    ?C0014
009E         ?C0015:
                                           ; SOURCE LINE # 63
009E 7F0A              MOV     R7,#0AH
00A0 120000      R     LCALL   _Delay100mS
                                           ; SOURCE LINE # 64
00A3 8086              SJMP    ?C0012
00A5 22                RET     
             ; FUNCTION main (END)



MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    227    ----
   CONSTANT SIZE    =      6    ----
   XDATA SIZE       =    255    ----
   PDATA SIZE       =   ----    ----
C51 COMPILER V7.08   51MAIN                                                                09/17/2008 11:10:46 PAGE 6   

   DATA SIZE        =      9    ----
   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 + -