📄 test.lst
字号:
255 8231 STD Z+1,R3
256 8220 STD Z+0,R2
(0068) adc+=adcttemp[1][temp];
257 2DEC MOV R30,R12
258 27FF CLR R31
259 0FEE LSL R30
25A 1FFF ROL R31
25B 0FE8 ADD R30,R24
25C 1FF9 ADC R31,R25
25D 8020 LDD R2,Z+0
25E 8031 LDD R3,Z+1
25F 2444 CLR R4
260 2455 CLR R5
261 8068 LDD R6,Y+0
262 8079 LDD R7,Y+1
263 808A LDD R8,Y+2
264 809B LDD R9,Y+3
265 0C62 ADD R6,R2
266 1C73 ADC R7,R3
267 1C84 ADC R8,R4
268 1C95 ADC R9,R5
269 8268 STD Y+0,R6
26A 8279 STD Y+1,R7
26B 828A STD Y+2,R8
26C 829B STD Y+3,R9
26D 94C3 INC R12
26E 2D8C MOV R24,R12
26F 308E CPI R24,0xE
270 F298 BCS 0x0244
(0069) }
(0070) adc/=15;
271 E04F LDI R20,0xF
272 E050 LDI R21,0
273 E060 LDI R22,0
274 E070 LDI R23,0
275 8108 LDD R16,Y+0
276 8119 LDD R17,Y+1
277 812A LDD R18,Y+2
278 813B LDD R19,Y+3
279 937A ST R23,-Y
27A 936A ST R22,-Y
27B 935A ST R21,-Y
27C 934A ST R20,-Y
27D 940E 02F7 CALL div32u
27F 8308 STD Y+0,R16
280 8319 STD Y+1,R17
281 832A STD Y+2,R18
282 833B STD Y+3,R19
(0071) adc_temp=adc;
283 80A8 LDD R10,Y+0
284 80B9 LDD R11,Y+1
(0072) adc_out0=adc>>1;
285 8028 LDD R2,Y+0
286 8039 LDD R3,Y+1
287 804A LDD R4,Y+2
288 805B LDD R5,Y+3
289 9456 LSR R5
28A 9447 ROR R4
28B 9437 ROR R3
28C 9427 ROR R2
28D 9230 00C3 STS adc_out0+1,R3
28F 9220 00C2 STS adc_out0,R2
(0073) }
291 9624 ADIW R28,4
292 940C 039A JMP pop_xgsetF03C
FILE: D:\iccavr\mega16\11\max144\max144_test.c
(0001) //ICC-AVR application builder : 2008-11-4 9:30:11
(0002) // Target : M16
(0003) // Crystal: 8Mhz
(0004)
(0005) #include <iom16v.h>
(0006) #include <macros.h>
(0007)
(0008)
(0009) #include "delay.h"
(0010) #include "lcd1602.h"
(0011) #include "max144.h"
(0012)
(0013) void mcu_init(void)
(0014) {
(0015) LCD_init();
_mcu_init:
294 DDF3 RCALL _LCD_init
295 9508 RET
_main:
296 9722 SBIW R28,2
(0016) }
(0017)
(0018) void main(void)
(0019) {
(0020) mcu_init();
297 DFFC RCALL _mcu_init
(0021)
(0022) LCD_write_string(0,0,"MAX144 ADC0: ");
298 E781 LDI R24,0x71
299 E090 LDI R25,0
29A 8399 STD Y+1,R25
29B 8388 STD Y+0,R24
29C 2722 CLR R18
29D 2700 CLR R16
29E DE8E RCALL _LCD_write_string
(0023) LCD_write_string(0,1,"MAX144 ADC1: ");
29F E680 LDI R24,0x60
2A0 E090 LDI R25,0
2A1 8399 STD Y+1,R25
2A2 8388 STD Y+0,R24
2A3 E021 LDI R18,1
2A4 2700 CLR R16
2A5 DE87 RCALL _LCD_write_string
2A6 C013 RJMP 0x02BA
(0024) while(1)
(0025) {
(0026) max144_read();
2A7 DEE3 RCALL _max144_read
(0027) LCD_write_data(12,0,adc_out0);
2A8 9020 00C2 LDS R2,adc_out0
2AA 9030 00C3 LDS R3,adc_out0+1
2AC 8239 STD Y+1,R3
2AD 8228 STD Y+0,R2
2AE 2722 CLR R18
2AF E00C LDI R16,0xC
2B0 DE94 RCALL _LCD_write_data
(0028) LCD_write_data(12,1,adc_out1);
FILE: <library>
2B1 9020 00C4 LDS R2,adc_out1
2B3 9030 00C5 LDS R3,adc_out1+1
2B5 8239 STD Y+1,R3
2B6 8228 STD Y+0,R2
2B7 E021 LDI R18,1
2B8 E00C LDI R16,0xC
2B9 DE8B RCALL _LCD_write_data
2BA CFEC RJMP 0x02A7
2BB 9622 ADIW R28,2
2BC 9508 RET
mod16s:
2BD 9468 BSET 6
2BE 92DA ST R13,-Y
2BF 2ED1 MOV R13,R17
2C0 C004 RJMP 0x02C5
div16s:
2C1 94E8 BCLR 6
2C2 92DA ST R13,-Y
2C3 2ED1 MOV R13,R17
2C4 26D3 EOR R13,R19
2C5 FF17 SBRS R17,7
2C6 C004 RJMP 0x02CB
2C7 9510 COM R17
2C8 9500 COM R16
2C9 5F0F SUBI R16,0xFF
2CA 4F1F SBCI R17,0xFF
2CB FF37 SBRS R19,7
2CC C004 RJMP 0x02D1
2CD 9530 COM R19
2CE 9520 COM R18
2CF 5F2F SUBI R18,0xFF
2D0 4F3F SBCI R19,0xFF
2D1 940E 02DE CALL xdiv16u
2D3 FED7 SBRS R13,7
2D4 C004 RJMP 0x02D9
2D5 9510 COM R17
2D6 9500 COM R16
2D7 5F0F SUBI R16,0xFF
2D8 4F1F SBCI R17,0xFF
2D9 90D9 LD R13,Y+
2DA 9508 RET
mod16u:
2DB 9468 BSET 6
2DC C001 RJMP xdiv16u
div16u:
2DD 94E8 BCLR 6
xdiv16u:
2DE 92EA ST R14,-Y
2DF 92FA ST R15,-Y
2E0 938A ST R24,-Y
2E1 24EE CLR R14
2E2 24FF CLR R15
2E3 E180 LDI R24,0x10
2E4 0F00 LSL R16
2E5 1F11 ROL R17
2E6 1CEE ROL R14
2E7 1CFF ROL R15
2E8 16E2 CP R14,R18
2E9 06F3 CPC R15,R19
2EA F018 BCS 0x02EE
2EB 1AE2 SUB R14,R18
2EC 0AF3 SBC R15,R19
2ED 9503 INC R16
2EE 958A DEC R24
2EF F7A1 BNE 0x02E4
2F0 F416 BRTC 0x02F3
2F1 2D0E MOV R16,R14
2F2 2D1F MOV R17,R15
2F3 9189 LD R24,Y+
2F4 90F9 LD R15,Y+
2F5 90E9 LD R14,Y+
2F6 9508 RET
div32u:
2F7 94E8 BCLR 6
2F8 C001 RJMP 0x02FA
mod32u:
2F9 9468 BSET 6
2FA D030 RCALL long_div_prolog
2FB 24CC CLR R12
2FC C009 RJMP 0x0306
div32s:
2FD 94E8 BCLR 6
2FE C001 RJMP 0x0300
mod32s:
2FF 9468 BSET 6
300 D02A RCALL long_div_prolog
301 FD37 SBRC R19,7
302 940E 03A3 CALL neg32
304 FDB7 SBRC R27,7
305 D052 RCALL neg_R24_R27
306 2477 CLR R7
307 2488 CLR R8
308 2499 CLR R9
309 24AA CLR R10
30A 24BB CLR R11
30B D042 RCALL tst_R16_R19
30C F0C1 BEQ 0x0325
30D D045 RCALL tst_R24_R27
30E F0B1 BEQ 0x0325
30F E2E8 LDI R30,0x28
310 0F00 LSL R16
311 1F11 ROL R17
312 1F22 ROL R18
313 1F33 ROL R19
314 1C77 ROL R7
315 1C88 ROL R8
316 1C99 ROL R9
317 1CAA ROL R10
318 1CBB ROL R11
319 1688 CP R8,R24
31A 0699 CPC R9,R25
31B 06AA CPC R10,R26
31C 06BB CPC R11,R27
31D F028 BCS 0x0323
31E 1A88 SUB R8,R24
31F 0A99 SBC R9,R25
320 0AAA SBC R10,R26
321 0ABB SBC R11,R27
322 9503 INC R16
323 95EA DEC R30
324 F759 BNE 0x0310
325 F426 BRTC 0x032A
326 2D08 MOV R16,R8
327 2D19 MOV R17,R9
328 2D2A MOV R18,R10
329 2D3B MOV R19,R11
32A C013 RJMP long_div_epilog
long_div_prolog:
32B 927A ST R7,-Y
32C 928A ST R8,-Y
32D 929A ST R9,-Y
32E 92AA ST R10,-Y
32F 92BA ST R11,-Y
330 92CA ST R12,-Y
331 93EA ST R30,-Y
332 938A ST R24,-Y
333 939A ST R25,-Y
334 93AA ST R26,-Y
335 93BA ST R27,-Y
336 858B LDD R24,Y+11
337 859C LDD R25,Y+12
338 85AD LDD R26,Y+13
339 85BE LDD R27,Y+14
33A 2EC3 MOV R12,R19
33B F00E BRTS 0x033D
33C 26CB EOR R12,R27
33D 9508 RET
long_div_epilog:
33E FCC7 SBRC R12,7
33F 940E 03A3 CALL neg32
341 91B9 LD R27,Y+
342 91A9 LD R26,Y+
343 9199 LD R25,Y+
344 9189 LD R24,Y+
345 91E9 LD R30,Y+
346 90C9 LD R12,Y+
347 90B9 LD R11,Y+
348 90A9 LD R10,Y+
349 9099 LD R9,Y+
34A 9089 LD R8,Y+
34B 9079 LD R7,Y+
34C 9624 ADIW R28,4
34D 9508 RET
tst_R16_R19:
34E 2FE0 MOV R30,R16
34F 2BE1 OR R30,R17
350 2BE2 OR R30,R18
351 2BE3 OR R30,R19
352 9508 RET
tst_R24_R27:
353 2FE8 MOV R30,R24
354 2BE9 OR R30,R25
355 2BEA OR R30,R26
356 2BEB OR R30,R27
357 9508 RET
neg_R24_R27:
358 9580 COM R24
359 9590 COM R25
35A 95A0 COM R26
35B 95B0 COM R27
35C 5F8F SUBI R24,0xFF
35D 4F9F SBCI R25,0xFF
35E 4FAF SBCI R26,0xFF
35F 4FBF SBCI R27,0xFF
360 9508 RET
pop_xgset30FC:
361 90A9 LD R10,Y+
362 90B9 LD R11,Y+
363 90C9 LD R12,Y+
364 90D9 LD R13,Y+
365 90E9 LD R14,Y+
366 90F9 LD R15,Y+
367 9149 LD R20,Y+
368 9159 LD R21,Y+
369 9508 RET
push_xgsetF0FC:
36A 937A ST R23,-Y
36B 936A ST R22,-Y
push_xgset30FC:
36C 935A ST R21,-Y
36D 934A ST R20,-Y
push_xgset00FC:
36E 92FA ST R15,-Y
36F 92EA ST R14,-Y
push_xgset003C:
370 92DA ST R13,-Y
371 92CA ST R12,-Y
372 92BA ST R11,-Y
373 92AA ST R10,-Y
374 9508 RET
push_xgsetF00C:
375 937A ST R23,-Y
376 936A ST R22,-Y
377 935A ST R21,-Y
378 934A ST R20,-Y
379 92BA ST R11,-Y
37A 92AA ST R10,-Y
37B 9508 RET
pop_xgsetF00C:
37C 90A9 LD R10,Y+
37D 90B9 LD R11,Y+
37E 9149 LD R20,Y+
37F 9159 LD R21,Y+
380 9169 LD R22,Y+
381 9179 LD R23,Y+
382 9508 RET
push_xgset303C:
383 935A ST R21,-Y
384 934A ST R20,-Y
385 92DA ST R13,-Y
386 92CA ST R12,-Y
387 92BA ST R11,-Y
388 92AA ST R10,-Y
389 9508 RET
pop_xgset303C:
38A 90A9 LD R10,Y+
38B 90B9 LD R11,Y+
38C 90C9 LD R12,Y+
38D 90D9 LD R13,Y+
38E 9149 LD R20,Y+
38F 9159 LD R21,Y+
390 9508 RET
push_xgsetF03C:
391 937A ST R23,-Y
392 936A ST R22,-Y
393 935A ST R21,-Y
394 934A ST R20,-Y
395 92DA ST R13,-Y
396 92CA ST R12,-Y
397 92BA ST R11,-Y
398 92AA ST R10,-Y
399 9508 RET
pop_xgsetF03C:
39A 90A9 LD R10,Y+
39B 90B9 LD R11,Y+
39C 90C9 LD R12,Y+
39D 90D9 LD R13,Y+
39E 9149 LD R20,Y+
39F 9159 LD R21,Y+
3A0 9169 LD R22,Y+
3A1 9179 LD R23,Y+
3A2 9508 RET
neg32:
3A3 9500 COM R16
3A4 9510 COM R17
3A5 9520 COM R18
3A6 9530 COM R19
3A7 5F0F SUBI R16,0xFF
3A8 4F1F SBCI R17,0xFF
3A9 4F2F SBCI R18,0xFF
3AA 4F3F SBCI R19,0xFF
3AB 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -