Initial commit - sync AliceRC to Gitea
This commit is contained in:
@@ -0,0 +1,545 @@
|
||||
1 ;--------------------------------------------------------
|
||||
2 ; File Created by SDCC : free open source ANSI-C Compiler
|
||||
3 ; Version 4.2.0 #13081 (Linux)
|
||||
4 ;--------------------------------------------------------
|
||||
5 .module model
|
||||
6 .optsdcc -mmcs51 --model-small
|
||||
7
|
||||
8 ;--------------------------------------------------------
|
||||
9 ; Public variables in this module
|
||||
10 ;--------------------------------------------------------
|
||||
11 .globl ___memcpy
|
||||
12 .globl _nrf24_set_address
|
||||
13 .globl _nrf24_set_channel
|
||||
14 .globl _eeprom_write
|
||||
15 .globl _eeprom_read
|
||||
16 .globl _eeprom_init
|
||||
17 .globl _EADC
|
||||
18 .globl _ET1
|
||||
19 .globl _ET0
|
||||
20 .globl _ES
|
||||
21 .globl _EA
|
||||
22 .globl _REN
|
||||
23 .globl _RI
|
||||
24 .globl _TI
|
||||
25 .globl _TR1
|
||||
26 .globl _TF1
|
||||
27 .globl _IT0
|
||||
28 .globl _IE0
|
||||
29 .globl _TR0
|
||||
30 .globl _TF0
|
||||
31 .globl _CMPCR2
|
||||
32 .globl _CMPCR1
|
||||
33 .globl _TA
|
||||
34 .globl _IRCBAND_REG
|
||||
35 .globl _IAP_TPS
|
||||
36 .globl _IAP_CONTR
|
||||
37 .globl _IAP_TRIG
|
||||
38 .globl _IAP_CMD
|
||||
39 .globl _IAP_ADDRL
|
||||
40 .globl _IAP_ADDRH
|
||||
41 .globl _IAP_DATA
|
||||
42 .globl _WDT_CONTR
|
||||
43 .globl _PCA_PWM3
|
||||
44 .globl _PCA_PWM2
|
||||
45 .globl _PCA_PWM1
|
||||
46 .globl _PCA_PWM0
|
||||
47 .globl _CCAP3L
|
||||
48 .globl _CCAP2L
|
||||
49 .globl _CCAP1L
|
||||
50 .globl _CCAP0L
|
||||
51 .globl _CCAPM3
|
||||
52 .globl _CCAPM2
|
||||
53 .globl _CCAPM1
|
||||
54 .globl _CCAPM0
|
||||
55 .globl _CMOD
|
||||
56 .globl _CCON
|
||||
57 .globl _ADCTIM_X
|
||||
58 .globl _ADCCFG
|
||||
59 .globl _ADC_RESL
|
||||
60 .globl _ADC_RES
|
||||
61 .globl _ADC_CONTR
|
||||
62 .globl _SPDAT
|
||||
63 .globl _SPCTL
|
||||
64 .globl _SPSTAT
|
||||
65 .globl _IP2H
|
||||
66 .globl _IP2
|
||||
67 .globl _IP
|
||||
68 .globl _IE2
|
||||
69 .globl _IE
|
||||
70 .globl _BRT
|
||||
71 .globl _P_SW1
|
||||
72 .globl _SADEN
|
||||
73 .globl _SADDR
|
||||
74 .globl _S2BUF
|
||||
75 .globl _S2CON
|
||||
76 .globl _SBUF
|
||||
77 .globl _SCON
|
||||
78 .globl _TM4PS_X
|
||||
79 .globl _TM3PS_X
|
||||
80 .globl _TM2PS_X
|
||||
81 .globl _T4T3M
|
||||
82 .globl _T4L
|
||||
83 .globl _T4H
|
||||
84 .globl _T3L
|
||||
85 .globl _T3H
|
||||
86 .globl _T2L
|
||||
87 .globl _T2H
|
||||
88 .globl _INTCLKO
|
||||
89 .globl _AUXR
|
||||
90 .globl _TH1
|
||||
91 .globl _TH0
|
||||
92 .globl _TL1
|
||||
93 .globl _TL0
|
||||
94 .globl _TMOD
|
||||
95 .globl _TCON
|
||||
96 .globl _P_SW2
|
||||
97 .globl _P5M0
|
||||
98 .globl _P5M1
|
||||
99 .globl _P4M0
|
||||
100 .globl _P4M1
|
||||
101 .globl _P3M0
|
||||
102 .globl _P3M1
|
||||
103 .globl _P2M0
|
||||
104 .globl _P2M1
|
||||
105 .globl _P1M0
|
||||
106 .globl _P1M1
|
||||
107 .globl _P0M0
|
||||
108 .globl _P0M1
|
||||
109 .globl _PSW
|
||||
110 .globl _B
|
||||
111 .globl _ACC
|
||||
112 .globl _PCON
|
||||
113 .globl _DPH
|
||||
114 .globl _DPL
|
||||
115 .globl _SP
|
||||
116 .globl _P5
|
||||
117 .globl _P4
|
||||
118 .globl _P3
|
||||
119 .globl _P2
|
||||
120 .globl _P1
|
||||
121 .globl _P0
|
||||
122 .globl _model_init
|
||||
123 .globl _model_get_mode
|
||||
124 .globl _model_get_channel
|
||||
125 .globl _model_get_address
|
||||
126 .globl _model_set_mode
|
||||
127 .globl _model_set_address
|
||||
128 .globl _model_set_channel
|
||||
129 .globl _model_apply
|
||||
130 ;--------------------------------------------------------
|
||||
131 ; special function registers
|
||||
132 ;--------------------------------------------------------
|
||||
133 .area RSEG (ABS,DATA)
|
||||
000000 134 .org 0x0000
|
||||
000080 135 _P0 = 0x0080
|
||||
000090 136 _P1 = 0x0090
|
||||
0000A0 137 _P2 = 0x00a0
|
||||
0000B0 138 _P3 = 0x00b0
|
||||
0000C0 139 _P4 = 0x00c0
|
||||
0000C8 140 _P5 = 0x00c8
|
||||
000081 141 _SP = 0x0081
|
||||
000082 142 _DPL = 0x0082
|
||||
000083 143 _DPH = 0x0083
|
||||
000087 144 _PCON = 0x0087
|
||||
0000E0 145 _ACC = 0x00e0
|
||||
0000F0 146 _B = 0x00f0
|
||||
0000D0 147 _PSW = 0x00d0
|
||||
000093 148 _P0M1 = 0x0093
|
||||
000094 149 _P0M0 = 0x0094
|
||||
000091 150 _P1M1 = 0x0091
|
||||
000092 151 _P1M0 = 0x0092
|
||||
000095 152 _P2M1 = 0x0095
|
||||
000096 153 _P2M0 = 0x0096
|
||||
0000B1 154 _P3M1 = 0x00b1
|
||||
0000B2 155 _P3M0 = 0x00b2
|
||||
0000B3 156 _P4M1 = 0x00b3
|
||||
0000B4 157 _P4M0 = 0x00b4
|
||||
0000C9 158 _P5M1 = 0x00c9
|
||||
0000CA 159 _P5M0 = 0x00ca
|
||||
0000BA 160 _P_SW2 = 0x00ba
|
||||
000088 161 _TCON = 0x0088
|
||||
000089 162 _TMOD = 0x0089
|
||||
00008A 163 _TL0 = 0x008a
|
||||
00008B 164 _TL1 = 0x008b
|
||||
00008C 165 _TH0 = 0x008c
|
||||
00008D 166 _TH1 = 0x008d
|
||||
00008E 167 _AUXR = 0x008e
|
||||
00008F 168 _INTCLKO = 0x008f
|
||||
0000D6 169 _T2H = 0x00d6
|
||||
0000D7 170 _T2L = 0x00d7
|
||||
0000D4 171 _T3H = 0x00d4
|
||||
0000D5 172 _T3L = 0x00d5
|
||||
0000D2 173 _T4H = 0x00d2
|
||||
0000D3 174 _T4L = 0x00d3
|
||||
0000D1 175 _T4T3M = 0x00d1
|
||||
00FEA1 176 _TM2PS_X = 0xfea1
|
||||
00FEA2 177 _TM3PS_X = 0xfea2
|
||||
00FEA3 178 _TM4PS_X = 0xfea3
|
||||
000098 179 _SCON = 0x0098
|
||||
000099 180 _SBUF = 0x0099
|
||||
00009A 181 _S2CON = 0x009a
|
||||
00009B 182 _S2BUF = 0x009b
|
||||
0000A9 183 _SADDR = 0x00a9
|
||||
0000B9 184 _SADEN = 0x00b9
|
||||
0000A2 185 _P_SW1 = 0x00a2
|
||||
00009C 186 _BRT = 0x009c
|
||||
0000A8 187 _IE = 0x00a8
|
||||
0000AF 188 _IE2 = 0x00af
|
||||
0000B8 189 _IP = 0x00b8
|
||||
0000B6 190 _IP2 = 0x00b6
|
||||
0000B7 191 _IP2H = 0x00b7
|
||||
0000CD 192 _SPSTAT = 0x00cd
|
||||
0000CE 193 _SPCTL = 0x00ce
|
||||
0000CF 194 _SPDAT = 0x00cf
|
||||
0000BC 195 _ADC_CONTR = 0x00bc
|
||||
0000BD 196 _ADC_RES = 0x00bd
|
||||
0000BE 197 _ADC_RESL = 0x00be
|
||||
0000DE 198 _ADCCFG = 0x00de
|
||||
00FEA8 199 _ADCTIM_X = 0xfea8
|
||||
0000D8 200 _CCON = 0x00d8
|
||||
0000D9 201 _CMOD = 0x00d9
|
||||
0000DA 202 _CCAPM0 = 0x00da
|
||||
0000DB 203 _CCAPM1 = 0x00db
|
||||
0000DC 204 _CCAPM2 = 0x00dc
|
||||
0000DD 205 _CCAPM3 = 0x00dd
|
||||
0000EA 206 _CCAP0L = 0x00ea
|
||||
0000EB 207 _CCAP1L = 0x00eb
|
||||
0000EC 208 _CCAP2L = 0x00ec
|
||||
0000ED 209 _CCAP3L = 0x00ed
|
||||
0000F2 210 _PCA_PWM0 = 0x00f2
|
||||
0000F3 211 _PCA_PWM1 = 0x00f3
|
||||
0000F4 212 _PCA_PWM2 = 0x00f4
|
||||
0000F5 213 _PCA_PWM3 = 0x00f5
|
||||
0000C1 214 _WDT_CONTR = 0x00c1
|
||||
0000C2 215 _IAP_DATA = 0x00c2
|
||||
0000C3 216 _IAP_ADDRH = 0x00c3
|
||||
0000C4 217 _IAP_ADDRL = 0x00c4
|
||||
0000C5 218 _IAP_CMD = 0x00c5
|
||||
0000C6 219 _IAP_TRIG = 0x00c6
|
||||
0000C7 220 _IAP_CONTR = 0x00c7
|
||||
0000F7 221 _IAP_TPS = 0x00f7
|
||||
00009D 222 _IRCBAND_REG = 0x009d
|
||||
0000AE 223 _TA = 0x00ae
|
||||
0000E6 224 _CMPCR1 = 0x00e6
|
||||
0000E7 225 _CMPCR2 = 0x00e7
|
||||
226 ;--------------------------------------------------------
|
||||
227 ; special function bits
|
||||
228 ;--------------------------------------------------------
|
||||
229 .area RSEG (ABS,DATA)
|
||||
000000 230 .org 0x0000
|
||||
00008D 231 _TF0 = 0x008d
|
||||
00008C 232 _TR0 = 0x008c
|
||||
000089 233 _IE0 = 0x0089
|
||||
000088 234 _IT0 = 0x0088
|
||||
00008F 235 _TF1 = 0x008f
|
||||
00008E 236 _TR1 = 0x008e
|
||||
000099 237 _TI = 0x0099
|
||||
000098 238 _RI = 0x0098
|
||||
00009C 239 _REN = 0x009c
|
||||
0000AF 240 _EA = 0x00af
|
||||
0000AC 241 _ES = 0x00ac
|
||||
0000A9 242 _ET0 = 0x00a9
|
||||
0000AB 243 _ET1 = 0x00ab
|
||||
0000AD 244 _EADC = 0x00ad
|
||||
245 ;--------------------------------------------------------
|
||||
246 ; overlayable register banks
|
||||
247 ;--------------------------------------------------------
|
||||
248 .area REG_BANK_0 (REL,OVR,DATA)
|
||||
000000 249 .ds 8
|
||||
250 ;--------------------------------------------------------
|
||||
251 ; internal ram data
|
||||
252 ;--------------------------------------------------------
|
||||
253 .area DSEG (DATA)
|
||||
000000 254 _s_mode:
|
||||
000000 255 .ds 1
|
||||
000001 256 _s_channel:
|
||||
000001 257 .ds 1
|
||||
000002 258 _s_address:
|
||||
000002 259 .ds 5
|
||||
000007 260 _model_init_m_131072_48:
|
||||
000007 261 .ds 1
|
||||
000008 262 _model_init_ch_131072_48:
|
||||
000008 263 .ds 1
|
||||
000009 264 _model_init_addr_131072_48:
|
||||
000009 265 .ds 5
|
||||
266 ;--------------------------------------------------------
|
||||
267 ; overlayable items in internal ram
|
||||
268 ;--------------------------------------------------------
|
||||
269 ;--------------------------------------------------------
|
||||
270 ; indirectly addressable internal ram data
|
||||
271 ;--------------------------------------------------------
|
||||
272 .area ISEG (DATA)
|
||||
273 ;--------------------------------------------------------
|
||||
274 ; absolute internal ram data
|
||||
275 ;--------------------------------------------------------
|
||||
276 .area IABS (ABS,DATA)
|
||||
277 .area IABS (ABS,DATA)
|
||||
278 ;--------------------------------------------------------
|
||||
279 ; bit data
|
||||
280 ;--------------------------------------------------------
|
||||
281 .area BSEG (BIT)
|
||||
282 ;--------------------------------------------------------
|
||||
283 ; paged external ram data
|
||||
284 ;--------------------------------------------------------
|
||||
285 .area PSEG (PAG,XDATA)
|
||||
286 ;--------------------------------------------------------
|
||||
287 ; external ram data
|
||||
288 ;--------------------------------------------------------
|
||||
289 .area XSEG (XDATA)
|
||||
290 ;--------------------------------------------------------
|
||||
291 ; absolute external ram data
|
||||
292 ;--------------------------------------------------------
|
||||
293 .area XABS (ABS,XDATA)
|
||||
294 ;--------------------------------------------------------
|
||||
295 ; external initialized ram data
|
||||
296 ;--------------------------------------------------------
|
||||
297 .area XISEG (XDATA)
|
||||
298 .area HOME (CODE)
|
||||
299 .area GSINIT0 (CODE)
|
||||
300 .area GSINIT1 (CODE)
|
||||
301 .area GSINIT2 (CODE)
|
||||
302 .area GSINIT3 (CODE)
|
||||
303 .area GSINIT4 (CODE)
|
||||
304 .area GSINIT5 (CODE)
|
||||
305 .area GSINIT (CODE)
|
||||
306 .area GSFINAL (CODE)
|
||||
307 .area CSEG (CODE)
|
||||
308 ;--------------------------------------------------------
|
||||
309 ; global & static initialisations
|
||||
310 ;--------------------------------------------------------
|
||||
311 .area HOME (CODE)
|
||||
312 .area GSINIT (CODE)
|
||||
313 .area GSFINAL (CODE)
|
||||
314 .area GSINIT (CODE)
|
||||
315 ; src/model.c:11: static uint8_t s_mode = MODE_SBUS;
|
||||
000000 75*00 00 [24] 316 mov _s_mode,#0x00
|
||||
317 ; src/model.c:12: static uint8_t s_channel = DEFAULT_RF_CH;
|
||||
000003 75*01 4C [24] 318 mov _s_channel,#0x4c
|
||||
319 ; src/model.c:13: static uint8_t s_address[5] = { 0xE7, 0xE7, 0xE7, 0xE7, 0xC2 };
|
||||
000006 75*02 E7 [24] 320 mov _s_address,#0xe7
|
||||
000009 75*03 E7 [24] 321 mov (_s_address + 0x0001),#0xe7
|
||||
00000C 75*04 E7 [24] 322 mov (_s_address + 0x0002),#0xe7
|
||||
00000F 75*05 E7 [24] 323 mov (_s_address + 0x0003),#0xe7
|
||||
000012 75*06 C2 [24] 324 mov (_s_address + 0x0004),#0xc2
|
||||
325 ;--------------------------------------------------------
|
||||
326 ; Home
|
||||
327 ;--------------------------------------------------------
|
||||
328 .area HOME (CODE)
|
||||
329 .area HOME (CODE)
|
||||
330 ;--------------------------------------------------------
|
||||
331 ; code
|
||||
332 ;--------------------------------------------------------
|
||||
333 .area CSEG (CODE)
|
||||
334 ;------------------------------------------------------------
|
||||
335 ;Allocation info for local variables in function 'model_init'
|
||||
336 ;------------------------------------------------------------
|
||||
337 ;m Allocated with name '_model_init_m_131072_48'
|
||||
338 ;ch Allocated with name '_model_init_ch_131072_48'
|
||||
339 ;addr Allocated with name '_model_init_addr_131072_48'
|
||||
340 ;------------------------------------------------------------
|
||||
341 ; src/model.c:15: void model_init(void)
|
||||
342 ; -----------------------------------------
|
||||
343 ; function model_init
|
||||
344 ; -----------------------------------------
|
||||
000000 345 _model_init:
|
||||
000007 346 ar7 = 0x07
|
||||
000006 347 ar6 = 0x06
|
||||
000005 348 ar5 = 0x05
|
||||
000004 349 ar4 = 0x04
|
||||
000003 350 ar3 = 0x03
|
||||
000002 351 ar2 = 0x02
|
||||
000001 352 ar1 = 0x01
|
||||
000000 353 ar0 = 0x00
|
||||
354 ; src/model.c:17: if (eeprom_init() == EEPROM_OK) {
|
||||
000000 12r00r00 [24] 355 lcall _eeprom_init
|
||||
000003 E5 82 [12] 356 mov a,dpl
|
||||
357 ; src/model.c:19: if (eeprom_read(&m, &ch, addr) == EEPROM_OK) {
|
||||
000005 70 3D [24] 358 jnz 00104$
|
||||
000007 75*00r08 [24] 359 mov _eeprom_read_PARM_2,#_model_init_ch_131072_48
|
||||
00000A F5*01 [12] 360 mov (_eeprom_read_PARM_2 + 1),a
|
||||
00000C 75*02 40 [24] 361 mov (_eeprom_read_PARM_2 + 2),#0x40
|
||||
00000F 75*00r09 [24] 362 mov _eeprom_read_PARM_3,#_model_init_addr_131072_48
|
||||
000012 75*01 00 [24] 363 mov (_eeprom_read_PARM_3 + 1),#0x00
|
||||
000015 75*02 40 [24] 364 mov (_eeprom_read_PARM_3 + 2),#0x40
|
||||
000018 90r00r07 [24] 365 mov dptr,#_model_init_m_131072_48
|
||||
00001B 75 F0 40 [24] 366 mov b,#0x40
|
||||
00001E 12r00r00 [24] 367 lcall _eeprom_read
|
||||
000021 E5 82 [12] 368 mov a,dpl
|
||||
369 ; src/model.c:20: s_mode = m;
|
||||
370 ; src/model.c:21: s_channel = ch;
|
||||
371 ; src/model.c:22: memcpy(s_address, addr, 5);
|
||||
000023 70 31 [24] 372 jnz 00105$
|
||||
000025 85*07*00 [24] 373 mov _s_mode,_model_init_m_131072_48
|
||||
000028 85*08*01 [24] 374 mov _s_channel,_model_init_ch_131072_48
|
||||
00002B 75*00r09 [24] 375 mov ___memcpy_PARM_2,#_model_init_addr_131072_48
|
||||
00002E F5*01 [12] 376 mov (___memcpy_PARM_2 + 1),a
|
||||
000030 75*02 40 [24] 377 mov (___memcpy_PARM_2 + 2),#0x40
|
||||
000033 75*00 05 [24] 378 mov ___memcpy_PARM_3,#0x05
|
||||
000036 75*01 00 [24] 379 mov (___memcpy_PARM_3 + 1),#0x00
|
||||
000039 90r00r02 [24] 380 mov dptr,#_s_address
|
||||
00003C 75 F0 40 [24] 381 mov b,#0x40
|
||||
00003F 12r00r00 [24] 382 lcall ___memcpy
|
||||
000042 80 12 [24] 383 sjmp 00105$
|
||||
000044 384 00104$:
|
||||
385 ; src/model.c:26: eeprom_write(MODE_SBUS, DEFAULT_RF_CH, DEFAULT_ADDR);
|
||||
000044 75*00r00 [24] 386 mov _eeprom_write_PARM_3,#_DEFAULT_ADDR
|
||||
000047 75*01s00 [24] 387 mov (_eeprom_write_PARM_3 + 1),#(_DEFAULT_ADDR >> 8)
|
||||
00004A 75*02 80 [24] 388 mov (_eeprom_write_PARM_3 + 2),#0x80
|
||||
00004D 75*00 4C [24] 389 mov _eeprom_write_PARM_2,#0x4c
|
||||
000050 75 82 00 [24] 390 mov dpl,#0x00
|
||||
000053 12r00r00 [24] 391 lcall _eeprom_write
|
||||
000056 392 00105$:
|
||||
393 ; src/model.c:28: model_apply();
|
||||
394 ; src/model.c:29: }
|
||||
000056 02r00rDF [24] 395 ljmp _model_apply
|
||||
396 ;------------------------------------------------------------
|
||||
397 ;Allocation info for local variables in function 'model_get_mode'
|
||||
398 ;------------------------------------------------------------
|
||||
399 ; src/model.c:31: uint8_t model_get_mode(void) { return s_mode; }
|
||||
400 ; -----------------------------------------
|
||||
401 ; function model_get_mode
|
||||
402 ; -----------------------------------------
|
||||
000059 403 _model_get_mode:
|
||||
000059 85*00 82 [24] 404 mov dpl,_s_mode
|
||||
00005C 22 [24] 405 ret
|
||||
406 ;------------------------------------------------------------
|
||||
407 ;Allocation info for local variables in function 'model_get_channel'
|
||||
408 ;------------------------------------------------------------
|
||||
409 ; src/model.c:32: uint8_t model_get_channel(void) { return s_channel; }
|
||||
410 ; -----------------------------------------
|
||||
411 ; function model_get_channel
|
||||
412 ; -----------------------------------------
|
||||
00005D 413 _model_get_channel:
|
||||
00005D 85*01 82 [24] 414 mov dpl,_s_channel
|
||||
000060 22 [24] 415 ret
|
||||
416 ;------------------------------------------------------------
|
||||
417 ;Allocation info for local variables in function 'model_get_address'
|
||||
418 ;------------------------------------------------------------
|
||||
419 ; src/model.c:33: const uint8_t *model_get_address(void) { return s_address; }
|
||||
420 ; -----------------------------------------
|
||||
421 ; function model_get_address
|
||||
422 ; -----------------------------------------
|
||||
000061 423 _model_get_address:
|
||||
000061 90r00r02 [24] 424 mov dptr,#_s_address
|
||||
000064 75 F0 40 [24] 425 mov b,#0x40
|
||||
000067 22 [24] 426 ret
|
||||
427 ;------------------------------------------------------------
|
||||
428 ;Allocation info for local variables in function 'model_set_mode'
|
||||
429 ;------------------------------------------------------------
|
||||
430 ;mode Allocated to registers r7
|
||||
431 ;------------------------------------------------------------
|
||||
432 ; src/model.c:35: void model_set_mode(uint8_t mode)
|
||||
433 ; -----------------------------------------
|
||||
434 ; function model_set_mode
|
||||
435 ; -----------------------------------------
|
||||
000068 436 _model_set_mode:
|
||||
437 ; src/model.c:37: if (mode > MODE_UART) return;
|
||||
000068 E5 82 [12] 438 mov a,dpl
|
||||
00006A FF [12] 439 mov r7,a
|
||||
00006B 24 FD [12] 440 add a,#0xff - 0x02
|
||||
00006D 50 01 [24] 441 jnc 00102$
|
||||
00006F 22 [24] 442 ret
|
||||
000070 443 00102$:
|
||||
444 ; src/model.c:38: s_mode = mode;
|
||||
000070 8F*00 [24] 445 mov _s_mode,r7
|
||||
446 ; src/model.c:39: eeprom_write(s_mode, s_channel, s_address);
|
||||
000072 75*00r02 [24] 447 mov _eeprom_write_PARM_3,#_s_address
|
||||
000075 75*01 00 [24] 448 mov (_eeprom_write_PARM_3 + 1),#0x00
|
||||
000078 75*02 40 [24] 449 mov (_eeprom_write_PARM_3 + 2),#0x40
|
||||
00007B 85*01*00 [24] 450 mov _eeprom_write_PARM_2,_s_channel
|
||||
00007E 85*00 82 [24] 451 mov dpl,_s_mode
|
||||
452 ; src/model.c:40: }
|
||||
000081 02r00r00 [24] 453 ljmp _eeprom_write
|
||||
454 ;------------------------------------------------------------
|
||||
455 ;Allocation info for local variables in function 'model_set_address'
|
||||
456 ;------------------------------------------------------------
|
||||
457 ;addr Allocated to registers r5 r6 r7
|
||||
458 ;------------------------------------------------------------
|
||||
459 ; src/model.c:42: void model_set_address(const uint8_t *addr)
|
||||
460 ; -----------------------------------------
|
||||
461 ; function model_set_address
|
||||
462 ; -----------------------------------------
|
||||
000084 463 _model_set_address:
|
||||
000084 AD 82 [24] 464 mov r5,dpl
|
||||
000086 AE 83 [24] 465 mov r6,dph
|
||||
000088 AF F0 [24] 466 mov r7,b
|
||||
467 ; src/model.c:44: memcpy(s_address, addr, 5);
|
||||
00008A 8D*00 [24] 468 mov ___memcpy_PARM_2,r5
|
||||
00008C 8E*01 [24] 469 mov (___memcpy_PARM_2 + 1),r6
|
||||
00008E 8F*02 [24] 470 mov (___memcpy_PARM_2 + 2),r7
|
||||
000090 75*00 05 [24] 471 mov ___memcpy_PARM_3,#0x05
|
||||
000093 75*01 00 [24] 472 mov (___memcpy_PARM_3 + 1),#0x00
|
||||
000096 90r00r02 [24] 473 mov dptr,#_s_address
|
||||
000099 75 F0 40 [24] 474 mov b,#0x40
|
||||
00009C 12r00r00 [24] 475 lcall ___memcpy
|
||||
476 ; src/model.c:45: eeprom_write(s_mode, s_channel, s_address);
|
||||
00009F 75*00r02 [24] 477 mov _eeprom_write_PARM_3,#_s_address
|
||||
0000A2 75*01 00 [24] 478 mov (_eeprom_write_PARM_3 + 1),#0x00
|
||||
0000A5 75*02 40 [24] 479 mov (_eeprom_write_PARM_3 + 2),#0x40
|
||||
0000A8 85*01*00 [24] 480 mov _eeprom_write_PARM_2,_s_channel
|
||||
0000AB 85*00 82 [24] 481 mov dpl,_s_mode
|
||||
0000AE 12r00r00 [24] 482 lcall _eeprom_write
|
||||
483 ; src/model.c:46: nrf24_set_address(s_address);
|
||||
0000B1 90r00r02 [24] 484 mov dptr,#_s_address
|
||||
0000B4 75 F0 40 [24] 485 mov b,#0x40
|
||||
486 ; src/model.c:47: }
|
||||
0000B7 02r00r00 [24] 487 ljmp _nrf24_set_address
|
||||
488 ;------------------------------------------------------------
|
||||
489 ;Allocation info for local variables in function 'model_set_channel'
|
||||
490 ;------------------------------------------------------------
|
||||
491 ;ch Allocated to registers r7
|
||||
492 ;------------------------------------------------------------
|
||||
493 ; src/model.c:49: void model_set_channel(uint8_t ch)
|
||||
494 ; -----------------------------------------
|
||||
495 ; function model_set_channel
|
||||
496 ; -----------------------------------------
|
||||
0000BA 497 _model_set_channel:
|
||||
498 ; src/model.c:51: if (ch > 125) return;
|
||||
0000BA E5 82 [12] 499 mov a,dpl
|
||||
0000BC FF [12] 500 mov r7,a
|
||||
0000BD 24 82 [12] 501 add a,#0xff - 0x7d
|
||||
0000BF 50 01 [24] 502 jnc 00102$
|
||||
0000C1 22 [24] 503 ret
|
||||
0000C2 504 00102$:
|
||||
505 ; src/model.c:52: s_channel = ch;
|
||||
0000C2 8F*01 [24] 506 mov _s_channel,r7
|
||||
507 ; src/model.c:53: eeprom_write(s_mode, s_channel, s_address);
|
||||
0000C4 75*00r02 [24] 508 mov _eeprom_write_PARM_3,#_s_address
|
||||
0000C7 75*01 00 [24] 509 mov (_eeprom_write_PARM_3 + 1),#0x00
|
||||
0000CA 75*02 40 [24] 510 mov (_eeprom_write_PARM_3 + 2),#0x40
|
||||
0000CD 85*01*00 [24] 511 mov _eeprom_write_PARM_2,_s_channel
|
||||
0000D0 85*00 82 [24] 512 mov dpl,_s_mode
|
||||
0000D3 C0 07 [24] 513 push ar7
|
||||
0000D5 12r00r00 [24] 514 lcall _eeprom_write
|
||||
0000D8 D0 07 [24] 515 pop ar7
|
||||
516 ; src/model.c:54: nrf24_set_channel(ch);
|
||||
0000DA 8F 82 [24] 517 mov dpl,r7
|
||||
518 ; src/model.c:55: }
|
||||
0000DC 02r00r00 [24] 519 ljmp _nrf24_set_channel
|
||||
520 ;------------------------------------------------------------
|
||||
521 ;Allocation info for local variables in function 'model_apply'
|
||||
522 ;------------------------------------------------------------
|
||||
523 ; src/model.c:57: void model_apply(void)
|
||||
524 ; -----------------------------------------
|
||||
525 ; function model_apply
|
||||
526 ; -----------------------------------------
|
||||
0000DF 527 _model_apply:
|
||||
528 ; src/model.c:59: nrf24_set_address(s_address);
|
||||
0000DF 90r00r02 [24] 529 mov dptr,#_s_address
|
||||
0000E2 75 F0 40 [24] 530 mov b,#0x40
|
||||
0000E5 12r00r00 [24] 531 lcall _nrf24_set_address
|
||||
532 ; src/model.c:60: nrf24_set_channel(s_channel);
|
||||
0000E8 85*01 82 [24] 533 mov dpl,_s_channel
|
||||
534 ; src/model.c:61: }
|
||||
0000EB 02r00r00 [24] 535 ljmp _nrf24_set_channel
|
||||
536 .area CSEG (CODE)
|
||||
537 .area CONST (CODE)
|
||||
000000 538 _DEFAULT_ADDR:
|
||||
000000 E7 539 .db #0xe7 ; 231
|
||||
000001 E7 540 .db #0xe7 ; 231
|
||||
000002 E7 541 .db #0xe7 ; 231
|
||||
000003 E7 542 .db #0xe7 ; 231
|
||||
000004 C2 543 .db #0xc2 ; 194
|
||||
544 .area XINIT (CODE)
|
||||
545 .area CABS (ABS,CODE)
|
||||
Reference in New Issue
Block a user