📄 main.lst
字号:
C51 COMPILER V7.07 MAIN 07/31/2007 21:23:57 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: E:\Keil\C51\BIN\C51.EXE main.c LARGE BROWSE DEBUG OBJECTEXTEND CODE SYMBOLS
stmt level source
1 #include <reg52.h>
2 #include <stdio.h>
3
4 /*------------------------------------------------
5 Timer 0 Interrupt Service Routine.
6
7 Set a breakpoint on 'overflow_count++' and run the
8 program in the debugger. You will see this line
9 executes every 65536 clock cycles.
10 ------------------------------------------------*/
11 static unsigned long overflow_count = 0;
12
13 void timer0_ISR (void) interrupt 1
14 {
15 1 overflow_count++; /* Increment the overflow count */
16 1 }
17
18 /*------------------------------------------------
19 MAIN C function
20 ------------------------------------------------*/
21 void main (void)
22 {
23 1 /*--------------------------------------
24 1 Set Timer0 for 16-bit timer mode. The
25 1 timer counts to 65535, overflows, and
26 1 generates an interrupt.
27 1
28 1 Set the Timer0 Run control bit.
29 1 --------------------------------------*/
30 1 TMOD = (TMOD & 0xF0) | 0x01; /* Set T/C0 Mode */
31 1 ET0 = 1; /* Enable Timer 0 Interrupts */
32 1 TR0 = 1; /* Start Timer 0 Running */
33 1 EA = 1; /* Global Interrupt Enable */
34 1
35 1 /*--------------------------------------
36 1 Do Nothing. Actually, the timer 0
37 1 interrupt will occur every 65536 clocks.
38 1 --------------------------------------*/
39 1 while (1)
40 1 {
41 2 }
42 1 }
43
C51 COMPILER V7.07 MAIN 07/31/2007 21:23:57 PAGE 2
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION timer0_ISR (BEGIN)
0000 C0E0 PUSH ACC
0002 C0F0 PUSH B
0004 C083 PUSH DPH
0006 C082 PUSH DPL
0008 C0D0 PUSH PSW
000A 75D000 MOV PSW,#00H
000D C000 PUSH AR0
000F C004 PUSH AR4
0011 C005 PUSH AR5
0013 C006 PUSH AR6
0015 C007 PUSH AR7
; SOURCE LINE # 13
; SOURCE LINE # 15
0017 900000 R MOV DPTR,#overflow_count
001A E0 MOVX A,@DPTR
001B FC MOV R4,A
001C A3 INC DPTR
001D E0 MOVX A,@DPTR
001E FD MOV R5,A
001F A3 INC DPTR
0020 E0 MOVX A,@DPTR
0021 FE MOV R6,A
0022 A3 INC DPTR
0023 E0 MOVX A,@DPTR
0024 2401 ADD A,#01H
0026 FF MOV R7,A
0027 E4 CLR A
0028 3E ADDC A,R6
0029 FE MOV R6,A
002A E4 CLR A
002B 3D ADDC A,R5
002C FD MOV R5,A
002D E4 CLR A
002E 3C ADDC A,R4
002F FC MOV R4,A
0030 900000 R MOV DPTR,#overflow_count
0033 120000 E LCALL ?C?LSTXDATA
; SOURCE LINE # 16
0036 D007 POP AR7
0038 D006 POP AR6
003A D005 POP AR5
003C D004 POP AR4
003E D000 POP AR0
0040 D0D0 POP PSW
0042 D082 POP DPL
0044 D083 POP DPH
0046 D0F0 POP B
0048 D0E0 POP ACC
004A 32 RETI
; FUNCTION timer0_ISR (END)
; FUNCTION main (BEGIN)
; SOURCE LINE # 21
; SOURCE LINE # 22
; SOURCE LINE # 30
0000 E589 MOV A,TMOD
0002 54F0 ANL A,#0F0H
0004 4401 ORL A,#01H
C51 COMPILER V7.07 MAIN 07/31/2007 21:23:57 PAGE 3
0006 F589 MOV TMOD,A
; SOURCE LINE # 31
0008 D2A9 SETB ET0
; SOURCE LINE # 32
000A D28C SETB TR0
; SOURCE LINE # 33
000C D2AF SETB EA
000E ?C0002:
; SOURCE LINE # 39
; SOURCE LINE # 40
; SOURCE LINE # 41
000E 80FE SJMP ?C0002
; FUNCTION main (END)
C51 COMPILER V7.07 MAIN 07/31/2007 21:23:57 PAGE 4
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
EA . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
overflow_count . . . . . . . . . . . . STATIC XDATA U_LONG 0000H 4
IE . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A8H 1
size_t . . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
IP . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
timer0_ISR . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
SCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0098H 1
TMOD . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0089H 1
TCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0088H 1
ET0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A9H 1
TR0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008CH 1
T2CON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C8H 1
PSW. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D0H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 91 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 4 ----
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 + -