📄 51main.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 + -