📄 exam1.lst
字号:
C51 COMPILER V6.12 EXAM1 03/07/2009 22:44:41 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE EXAM1
OBJECT MODULE PLACED IN .\exam1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE .\exam1.c DEBUG OBJECTEXTEND CODE
stmt level source
1 #include<reg51.h>
2 #include<intrins.h>
3 #define uint unsigned int
4 #define uchar unsigned char
5 uchar temp,aa,numdu,numwe;
6 sbit dula=P2^6;
7 sbit wela=P2^7;
8 uchar code table[]={
9 0x3f,0x06,0x5b,0x4f,
10 0x66,0x6d,0x7d,0x07,
11 0x7f,0x6f,0x77,0x7c,
12 0x39,0x5e,0x79,0x71};
13 uchar code tablewe[]={
14 0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
15 //void delay(uint z);
16 void main()
17 {
18 1 numdu=0;
19 1 numwe=0;
20 1 aa=0;
21 1 TMOD=0x01;
22 1 TH0=(65536-5000)/256;
23 1 TL0=(65536-5000)%256;
24 1 EA=1;
25 1 ET0=1;
26 1 TR0=1;
27 1 while(1)
28 1 {
29 2 // delay(1000);
30 2 // temp=_crol_(temp,1);
31 2 // P1=temp;
32 2 if(aa==1)
33 2 {
34 3 aa=0;
35 3 numdu++;
36 3 if(numdu==7)
37 3 numdu=1;
38 3 dula=1;
39 3 P0=table[numdu];
40 3 dula=0;
41 3 wela=1;
42 3 P0=tablewe[numwe];
43 3 wela=0;
44 3 numwe++;
45 3 if(numwe==6)
46 3 numwe=0;
47 3 }
48 2 }
49 1 }
50 /*
51 void delay(uint z)
52 {
53 uint x,y;
54 for(x=z;x>0;x--)
55 for(y=110;y>0;y--);
C51 COMPILER V6.12 EXAM1 03/07/2009 22:44:41 PAGE 2
56 }*/
57
58 void timer0() interrupt 1
59 {
60 1 TH0=(65536-5000)/256;
61 1 TL0=(65536-5000)%256;
62 1 aa++;
63 1 }
C51 COMPILER V6.12 EXAM1 03/07/2009 22:44:41 PAGE 3
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION main (BEGIN)
; SOURCE LINE # 16
; SOURCE LINE # 17
; SOURCE LINE # 18
0000 E4 CLR A
0001 F500 R MOV numdu,A
; SOURCE LINE # 19
0003 F500 R MOV numwe,A
; SOURCE LINE # 20
0005 F500 R MOV aa,A
; SOURCE LINE # 21
0007 758901 MOV TMOD,#01H
; SOURCE LINE # 22
000A 758CEC MOV TH0,#0ECH
; SOURCE LINE # 23
000D 758A78 MOV TL0,#078H
; SOURCE LINE # 24
0010 D2AF SETB EA
; SOURCE LINE # 25
0012 D2A9 SETB ET0
; SOURCE LINE # 26
0014 D28C SETB TR0
0016 ?C0001:
; SOURCE LINE # 27
; SOURCE LINE # 28
; SOURCE LINE # 32
0016 E500 R MOV A,aa
0018 B401FB CJNE A,#01H,?C0001
; SOURCE LINE # 33
; SOURCE LINE # 34
001B E4 CLR A
001C F500 R MOV aa,A
; SOURCE LINE # 35
001E 0500 R INC numdu
; SOURCE LINE # 36
0020 E500 R MOV A,numdu
0022 B40703 CJNE A,#07H,?C0004
; SOURCE LINE # 37
0025 750001 R MOV numdu,#01H
0028 ?C0004:
; SOURCE LINE # 38
0028 D2A6 SETB dula
; SOURCE LINE # 39
002A E500 R MOV A,numdu
002C 900000 R MOV DPTR,#table
002F 93 MOVC A,@A+DPTR
0030 F580 MOV P0,A
; SOURCE LINE # 40
0032 C2A6 CLR dula
; SOURCE LINE # 41
0034 D2A7 SETB wela
; SOURCE LINE # 42
0036 E500 R MOV A,numwe
0038 900000 R MOV DPTR,#tablewe
003B 93 MOVC A,@A+DPTR
003C F580 MOV P0,A
; SOURCE LINE # 43
003E C2A7 CLR wela
; SOURCE LINE # 44
C51 COMPILER V6.12 EXAM1 03/07/2009 22:44:41 PAGE 4
0040 0500 R INC numwe
; SOURCE LINE # 45
0042 E500 R MOV A,numwe
0044 B406CF CJNE A,#06H,?C0001
; SOURCE LINE # 46
0047 E4 CLR A
0048 F500 R MOV numwe,A
; SOURCE LINE # 47
; SOURCE LINE # 48
004A 80CA SJMP ?C0001
; FUNCTION main (END)
; FUNCTION timer0 (BEGIN)
; SOURCE LINE # 58
; SOURCE LINE # 60
0000 758CEC MOV TH0,#0ECH
; SOURCE LINE # 61
0003 758A78 MOV TL0,#078H
; SOURCE LINE # 62
0006 0500 R INC aa
; SOURCE LINE # 63
0008 32 RETI
; FUNCTION timer0 (END)
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 85 ----
CONSTANT SIZE = 22 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 4 ----
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 + -