📄 context.lst
字号:
A51 MACRO ASSEMBLER CONTEXT 12/07/2004 17:58:48 PAGE 1
MACRO ASSEMBLER A51 V6.12
OBJECT MODULE PLACED IN .\context.obj
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE ..\..\..\arch\mcs51\src\context.asm INCDIR(d:\rs1.12b\) SET(SMALL) DEBUG P
RINT(.\context.lst) OBJECT(.\context.obj) EP
LOC OBJ LINE SOURCE
1 ;*
2 ;==============================================================================
3 ; Copyright (C) 2004 RuanHaiShen, All rights reserved.
4 ; SUMMARY:
5 ; timer service.
6 ;
7 ; DESCRIPTION:
8 ; See http://www.01s.org for documentation, latest information, license
9 ; and contact details.
10 ; email:ruanhaishen@01s.org
11 ;============================================================================*/
12 ;*===========================================================================*/
13 ;#include "example/mcs51/config.h"
+1 14
+1 15
+1 16
+1 17
+1 18
+1 19
+1 20
+1 21
+1 22
+1 23
+1 24
+1 25
+1 26
+1 27
+1 28
+1 29
+1 30
+1 31
+1 32
+1 33
+1 34
+1 35
+1 36
+1 37
+1 38
+1 39
+1 40
+1 41
+1 42
+1 43
+1 44
+1 45
+1 46
+1 47
+1 48
+1 49
+1 50
+1 51
+1 52
+1 53
+1 54
+1 55
+1 56
+1 57
A51 MACRO ASSEMBLER CONTEXT 12/07/2004 17:58:48 PAGE 2
+1 58
+1 59
+1 60
+1 61
+1 62
+1 63
+1 64
+1 65
+1 66
+1 67
+1 68
+1 69
+1 70
+1 71
+1 72
+1 73
+1 74
+1 75
+1 76
+1 77
+1 78
+1 79
+1 80
+1 81
+1 82
+1 83
+1 84
+1 85
+1 86
+1 87
+1 88
+1 89
+1 90
+1 91
+1 92
+1 93
+1 94
+1 95
+1 96
+1 97
+1 98
+1 99
+1 100
+1 101
+1 102
+1 103
+1 104
+1 105
+1 106
+1 107
+1 108
+1 109
+1 110
+1 111
+1 112
+1 113
+1 114
+1 115
+1 116
+1 117
+1 118
+1 119
+1 120
+1 121
+1 122
+1 123
A51 MACRO ASSEMBLER CONTEXT 12/07/2004 17:58:48 PAGE 3
+1 124
+1 125
+1 126
+1 127
+1 128
+1 129
130
131
132
133
134 public __entry_init
135 extrn code(__mcs51_do_tick)
136 extrn code(__schedule)
137 extrn data(_current_prio)
138
4E20 139 COUNTER EQU 20000
00B1 140 T0H_COUNTER EQU (65536 - COUNTER) / 256
00E0 141 T0L_COUNTER EQU (65536 - COUNTER) - T0H_COUNTER * 256
142
143
---- 144 CSEG AT 000BH
000B C2AF 145 CLR EA
000D 210A 146 JMP IT0_IRS
147
148
---- 149 CSEG AT 0100H
150 ;*===========================================================================*/
0100 151 __entry_init:
0100 E581 152 MOV A, SP ;get arg
0102 2403 153 ADD A, #03H
0104 F8 154 MOV R0, A
0105 E6 155 MOV A, @R0
0106 FF 156 MOV R7, A
0107 D2AF 157 SETB EA ;enable interrupt
0109 22 158 RET
159
160 ;*===========================================================================*/
010A 161 IT0_IRS:
010A C0E0 162 PUSH ACC
010C 7402 163 MOV A , #(3 - 1)
010E B50004 F 164 CJNE A , _current_prio, IT0_NOR_IN
0111 D0E0 165 POP ACC
0113 8018 166 JMP IT0_IDLE_IN
0115 167 IT0_NOR_IN:
0115 C0F0 168 PUSH B
0117 C0D0 169 PUSH PSW
0119 C083 170 PUSH DPH
011B C082 171 PUSH DPL
011D C000 172 PUSH 00H
011F C001 173 PUSH 01H
0121 C002 174 PUSH 02H
0123 C003 175 PUSH 03H
0125 C004 176 PUSH 04H
0127 C005 177 PUSH 05H
0129 C006 178 PUSH 06H
012B C007 179 PUSH 07H
012D 180 IT0_IDLE_IN:
181 ;-----------------------------------
012D 120000 F 182 LCALL __mcs51_do_tick
0130 743F 183 MOV A, #LOW IT0_OUT
0132 C0E0 184 PUSH ACC
0134 7401 185 MOV A, #HIGH IT0_OUT
0136 C0E0 186 PUSH ACC
0138 758CB1 187 MOV TH0,#T0H_COUNTER
013B 758AE0 188 MOV TL0,#T0L_COUNTER
013E 32 189 RETI
A51 MACRO ASSEMBLER CONTEXT 12/07/2004 17:58:48 PAGE 4
190 ;-----------------------------------
191
013F 192 IT0_OUT:
013F 7402 193 MOV A , #(3 - 1)
0141 B50003 F 194 CJNE A , _current_prio, IT0_NOR_OUT
0144 020000 F 195 LJMP __schedule
0147 196 IT0_NOR_OUT:
0147 120000 F 197 LCALL __schedule
014A D007 198 POP 07H
014C D006 199 POP 06H
014E D005 200 POP 05H
0150 D004 201 POP 04H
0152 D003 202 POP 03H
0154 D002 203 POP 02H
0156 D001 204 POP 01H
0158 D000 205 POP 00H
015A D082 206 POP DPL
015C D083 207 POP DPH
015E D0D0 208 POP PSW
0160 D0F0 209 POP B
0162 D0E0 210 POP ACC
0164 22 211 RET
212
213 ;*===========================================================================*/
214 END
A51 MACRO ASSEMBLER CONTEXT 12/07/2004 17:58:48 PAGE 5
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ACC. . . . . . . . D ADDR 00E0H A
B. . . . . . . . . D ADDR 00F0H A
COUNTER. . . . . . N NUMB 4E20H A
DPH. . . . . . . . D ADDR 0083H A
DPL. . . . . . . . D ADDR 0082H A
EA . . . . . . . . B ADDR 00A8H.7 A
IT0_IDLE_IN. . . . C ADDR 012DH A
IT0_IRS. . . . . . C ADDR 010AH A
IT0_NOR_IN . . . . C ADDR 0115H A
IT0_NOR_OUT. . . . C ADDR 0147H A
IT0_OUT. . . . . . C ADDR 013FH A
PSW. . . . . . . . D ADDR 00D0H A
SP . . . . . . . . D ADDR 0081H A
T0H_COUNTER. . . . N NUMB 00B1H A
T0L_COUNTER. . . . N NUMB 00E0H A
TH0. . . . . . . . D ADDR 008CH A
TL0. . . . . . . . D ADDR 008AH A
_CURRENT_PRIO. . . D ADDR ----- EXT
__ENTRY_INIT . . . C ADDR 0100H A
__MCS51_DO_TICK. . C ADDR ----- EXT
__SCHEDULE . . . . C ADDR ----- EXT
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -