File: demo4.lst

package info (click to toggle)
mcu8051ide 1.3.7-1
  • links: PTS
  • area: main
  • in suites: squeeze, wheezy
  • size: 6,744 kB
  • ctags: 3,400
  • sloc: tcl: 81,408; xml: 2,045; asm: 1,588; ada: 314; sh: 148; ansic: 96; makefile: 28
file content (228 lines) | stat: -rw-r--r-- 12,485 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
demo4                                                                                                                                                                                       PAGE 1
                         1     ; MCU 8051 IDE - Demostration code
                         2     ; Interrupt monitor and list of active subprograms
                         3
                         4     ; 1) Press Ctrl+0 to show tab "List of subprograms" on righ panel
                         5     ; 2) Run interrupt monitor
                         6     ;       (Main menu: Simulator -> Interrupt monitor)
                         7     ; 3) Press F2 to start simulator and F6 to run animation mode
                         8
                         9     ; Macro instructions
                        10     ; ------------------
                        11
                        12     ;; Handle interrupt
                        13     intr    macro
                        14             ; Set UART interrupt flags
                        15             setb    RI
                        16             setb    TI
                        17
                        18             ; Wait a while and return from interrupt
                        19             acall   wait
                        20             reti
                        21     endm
                        22
                        23
                        24     ; Interrupt vectors
                        25     ; -----------------
                        26             org     00h     ; Reset
0000 D298               27             ajmp    start
                        28
                        29 +1          org     03h     ; External 0
                        30 +2
                        31 +3
                        32 +4
                        33 +5
                        34 +6
                        35 +7
                        36 +7
                        37 +7                  setb    RI
000B 113F               38 +7                  setb    TI
000D 22                 39 +7
                        40 +7                  acall   wait
000F DFFE               41 +7                  reti
                        42 +6                  setb    RI
0011 22                 43 +6                  setb    TI
                        44 +6
                        45 +6                  acall   wait
0013 D28F               46 +6                  reti
                        47 +5                  setb    RI
0015 D289               48 +5                  setb    TI
                        49 +5
0017 D28B               50 +5                  acall   wait
0019 75A8FF             51 +5                  reti
                        52 +4                  setb    RI
                        53 +4                  setb    TI
                        54 +4
001B 80FE               55 +4                  acall   wait
                        56 +4                  reti
                        57 +3                  setb    RI
                        58 +3                  setb    TI
                        59 +3
                        60 +3                  acall   wait
                        61 +3                  reti
                        62 +2                  setb    RI
                        63 +2                  setb    TI
                        64 +2
                        65 +2                  acall   wait
                        66 +2                  reti
                        67 +1                  setb    RI
                        68 +1                  setb    TI
                        69 +1
                        70 +1                  acall   wait
                        71 +1                  reti
                        72             intr
                        73
                        74             org     0Bh     ; Timer 0
                        75             intr
                        76
                        77             org     13h     ; External 0
                        78             intr
                        79
                        80             org     1Bh     ; Timer 1
                        81             intr
                        82
                        83             org     23h     ; UART and SPI
                        84             intr
                        85
                        86             org     2Bh     ; Timer 2
                        87             intr
                        88
                        89             org     33h     ; Analog comparator
                        90             intr
                        91
                        92     ; Subprograms
                        93     ; -----------------
                        94     wait:   ; Wait for 24 cycles
                        95             mov     R7, #10h
                        96             acall   wait_aux
                        97             ret
                        98
                        99     wait_aux:
                       100             djnz    R7, $
                       101             ret
                       102
                       103
                       104     ; Program start
                       105     ; -----------------
                       106     start:
                       107             ; Set some interrupt bits
                       108             setb    TF0
                       109             setb    TF1
                       110             setb    IE0
                       111             setb    IE1
                       112
                       113             ; Enable all interrupts and set priorities
                       114             mov     IE, #0FFh
                       115             setb    PS
                       116
                       117             ; Infinite loop
                       118             sjmp    $
                       119
                       120
                       121     ; End of code
                       122     ; -----------------
                       123             end
ASSEMBLY COMPLETE, NO ERRORS FOUND, NO WARNINGS


SYMBOL TABLE:
AC . . . . . . . . . . . . . . . . .  B  ADDR  00D6H  NOT USED
ACC. . . . . . . . . . . . . . . . .  D  ADDR  00E0H  NOT USED
ACSR . . . . . . . . . . . . . . . .  D  ADDR  0097H  NOT USED
AUXR . . . . . . . . . . . . . . . .  D  ADDR  008EH  NOT USED
AUXR1. . . . . . . . . . . . . . . .  D  ADDR  00A2H  NOT USED
B. . . . . . . . . . . . . . . . . .  D  ADDR  00F0H  NOT USED
CKCON. . . . . . . . . . . . . . . .  D  ADDR  008FH  NOT USED
CLKREG . . . . . . . . . . . . . . .  D  ADDR  008FH  NOT USED
CPRL2. . . . . . . . . . . . . . . .  B  ADDR  00C8H  NOT USED
CT2. . . . . . . . . . . . . . . . .  B  ADDR  00C9H  NOT USED
CY . . . . . . . . . . . . . . . . .  B  ADDR  00D7H  NOT USED
DP0H . . . . . . . . . . . . . . . .  D  ADDR  0083H  NOT USED
DP0L . . . . . . . . . . . . . . . .  D  ADDR  0082H  NOT USED
DP1H . . . . . . . . . . . . . . . .  D  ADDR  0085H  NOT USED
DP1L . . . . . . . . . . . . . . . .  D  ADDR  0084H  NOT USED
DPH. . . . . . . . . . . . . . . . .  D  ADDR  0083H  NOT USED
DPL. . . . . . . . . . . . . . . . .  D  ADDR  0082H  NOT USED
EA . . . . . . . . . . . . . . . . .  B  ADDR  00AFH  NOT USED
EECON. . . . . . . . . . . . . . . .  D  ADDR  0096H  NOT USED
ES . . . . . . . . . . . . . . . . .  B  ADDR  00ACH  NOT USED
ET0. . . . . . . . . . . . . . . . .  B  ADDR  00A9H  NOT USED
ET1. . . . . . . . . . . . . . . . .  B  ADDR  00ABH  NOT USED
EX0. . . . . . . . . . . . . . . . .  B  ADDR  00A8H  NOT USED
EX1. . . . . . . . . . . . . . . . .  B  ADDR  00AAH  NOT USED
EXEN2. . . . . . . . . . . . . . . .  B  ADDR  00CBH  NOT USED
EXF2 . . . . . . . . . . . . . . . .  B  ADDR  00CEH  NOT USED
F0 . . . . . . . . . . . . . . . . .  B  ADDR  00D5H  NOT USED
IE . . . . . . . . . . . . . . . . .  D  ADDR  00A8H  NOT USED
IE0. . . . . . . . . . . . . . . . .  B  ADDR  0089H  NOT USED
IE1. . . . . . . . . . . . . . . . .  B  ADDR  008BH  NOT USED
INT0 . . . . . . . . . . . . . . . .  B  ADDR  00B2H  NOT USED
INT1 . . . . . . . . . . . . . . . .  B  ADDR  00B3H  NOT USED
IP . . . . . . . . . . . . . . . . .  D  ADDR  00B8H  NOT USED
IPH. . . . . . . . . . . . . . . . .  D  ADDR  00B7H  NOT USED
IT0. . . . . . . . . . . . . . . . .  B  ADDR  0088H  NOT USED
IT1. . . . . . . . . . . . . . . . .  B  ADDR  008AH  NOT USED
OV . . . . . . . . . . . . . . . . .  B  ADDR  00D2H  NOT USED
P. . . . . . . . . . . . . . . . . .  B  ADDR  00D0H  NOT USED
P0 . . . . . . . . . . . . . . . . .  D  ADDR  0080H  NOT USED
P1 . . . . . . . . . . . . . . . . .  D  ADDR  0090H  NOT USED
P2 . . . . . . . . . . . . . . . . .  D  ADDR  00A0H  NOT USED
P3 . . . . . . . . . . . . . . . . .  D  ADDR  00B0H  NOT USED
P4 . . . . . . . . . . . . . . . . .  D  ADDR  00C0H  NOT USED
PCON . . . . . . . . . . . . . . . .  D  ADDR  0087H  NOT USED
PS . . . . . . . . . . . . . . . . .  B  ADDR  00BCH  NOT USED
PSW. . . . . . . . . . . . . . . . .  D  ADDR  00D0H  NOT USED
PT0. . . . . . . . . . . . . . . . .  B  ADDR  00B9H  NOT USED
PT1. . . . . . . . . . . . . . . . .  B  ADDR  00BBH  NOT USED
PX0. . . . . . . . . . . . . . . . .  B  ADDR  00B8H  NOT USED
PX1. . . . . . . . . . . . . . . . .  B  ADDR  00BAH  NOT USED
RB8. . . . . . . . . . . . . . . . .  B  ADDR  009AH  NOT USED
RCAP2H . . . . . . . . . . . . . . .  D  ADDR  00CBH  NOT USED
RCAP2L . . . . . . . . . . . . . . .  D  ADDR  00CAH  NOT USED
RCLK . . . . . . . . . . . . . . . .  B  ADDR  00CDH  NOT USED
RD . . . . . . . . . . . . . . . . .  B  ADDR  00B7H  NOT USED
REN. . . . . . . . . . . . . . . . .  B  ADDR  009CH  NOT USED
RI . . . . . . . . . . . . . . . . .  B  ADDR  0098H  NOT USED
RS0. . . . . . . . . . . . . . . . .  B  ADDR  00D3H  NOT USED
RS1. . . . . . . . . . . . . . . . .  B  ADDR  00D4H  NOT USED
RXD. . . . . . . . . . . . . . . . .  B  ADDR  00B0H  NOT USED
SADDR. . . . . . . . . . . . . . . .  D  ADDR  00A9H  NOT USED
SADEN. . . . . . . . . . . . . . . .  D  ADDR  00B9H  NOT USED
SBUF . . . . . . . . . . . . . . . .  D  ADDR  0099H  NOT USED
SCON . . . . . . . . . . . . . . . .  D  ADDR  0098H  NOT USED
SM0. . . . . . . . . . . . . . . . .  B  ADDR  009FH  NOT USED
SM1. . . . . . . . . . . . . . . . .  B  ADDR  009EH  NOT USED
SM2. . . . . . . . . . . . . . . . .  B  ADDR  009DH  NOT USED
SP . . . . . . . . . . . . . . . . .  D  ADDR  0081H  NOT USED
SPCR . . . . . . . . . . . . . . . .  D  ADDR  00D5H  NOT USED
SPDR . . . . . . . . . . . . . . . .  D  ADDR  0086H  NOT USED
SPSR . . . . . . . . . . . . . . . .  D  ADDR  00AAH  NOT USED
START. . . . . . . . . . . . . . . .  C  ADDR  0042H  NOT USED
T0 . . . . . . . . . . . . . . . . .  B  ADDR  00B4H  NOT USED
T1 . . . . . . . . . . . . . . . . .  B  ADDR  00B5H  NOT USED
T2CON. . . . . . . . . . . . . . . .  D  ADDR  00C8H  NOT USED
T2MOD. . . . . . . . . . . . . . . .  D  ADDR  00C9H  NOT USED
TB8. . . . . . . . . . . . . . . . .  B  ADDR  009BH  NOT USED
TCLK . . . . . . . . . . . . . . . .  B  ADDR  00CCH  NOT USED
TCON . . . . . . . . . . . . . . . .  D  ADDR  0088H  NOT USED
TF0. . . . . . . . . . . . . . . . .  B  ADDR  008DH  NOT USED
TF1. . . . . . . . . . . . . . . . .  B  ADDR  008FH  NOT USED
TF2. . . . . . . . . . . . . . . . .  B  ADDR  00CFH  NOT USED
TH0. . . . . . . . . . . . . . . . .  D  ADDR  008CH  NOT USED
TH1. . . . . . . . . . . . . . . . .  D  ADDR  008DH  NOT USED
TH2. . . . . . . . . . . . . . . . .  D  ADDR  00CDH  NOT USED
TI . . . . . . . . . . . . . . . . .  B  ADDR  0099H  NOT USED
TL0. . . . . . . . . . . . . . . . .  D  ADDR  008AH  NOT USED
TL1. . . . . . . . . . . . . . . . .  D  ADDR  008BH  NOT USED
TL2. . . . . . . . . . . . . . . . .  D  ADDR  00CCH  NOT USED
TMOD . . . . . . . . . . . . . . . .  D  ADDR  0089H  NOT USED
TR0. . . . . . . . . . . . . . . . .  B  ADDR  008CH  NOT USED
TR1. . . . . . . . . . . . . . . . .  B  ADDR  008EH  NOT USED
TR2. . . . . . . . . . . . . . . . .  B  ADDR  00CAH  NOT USED
TXD. . . . . . . . . . . . . . . . .  B  ADDR  00B1H  NOT USED
WAIT . . . . . . . . . . . . . . . .  C  ADDR  003AH  NOT USED
WAIT_AUX . . . . . . . . . . . . . .  C  ADDR  003FH  NOT USED
WDTCON . . . . . . . . . . . . . . .  D  ADDR  00A7H  NOT USED
WDTPRG . . . . . . . . . . . . . . .  D  ADDR  00A7H  NOT USED
WDTRST . . . . . . . . . . . . . . .  D  ADDR  00A6H  NOT USED
WR . . . . . . . . . . . . . . . . .  B  ADDR  00B6H  NOT USED