📄 tools.lis
字号:
.module tools.c
.area vector(rom, abs)
.org 12
000C 00C0 rjmp _T1_OCR1A
.area text(rom, con, rel)
0000 .dbfile E:\ICCAVR\project\avrisp\tools.c
0000 .dbfunc e T1_OCR1A _T1_OCR1A fV
.even
0000 _T1_OCR1A::
0000 8A93 st -y,R24
0002 9A93 st -y,R25
0004 8FB7 in R24,0x3f
0006 8A93 st -y,R24
0008 .dbline -1
0008 .dbline 18
0008 ;
0008 ; #include "stk500.h"
0008 ;
0008 ; static unsigned int t1_tick;
0008 ;
0008 ; //Konstanten im EEPROM
0008 ; //#define EEPROM __attribute__ ((section (".eeprom")))
0008 ;
0008 ; //Variablen im EEPROM
0008 ; //EEPROM unsigned char eeprom_sck_period=10;
0008 ; //unsigned char eeprom_sck_period=10;
0008 ;
0008 ; #ifndef __iom88v_h
0008 ; #pragma interrupt_handler T1_OCR1A: 7 /*meag8*/
0008 ; #else
0008 ; #pragma interrupt_handler T1_OCR1A: 12 /*mega88*/
0008 ; #endif
0008 ; void T1_OCR1A(void) {
0008 .dbline 19
0008 ; t1_tick --;
0008 80910000 lds R24,_t1_tick
000C 90910100 lds R25,_t1_tick+1
0010 0197 sbiw R24,1
0012 90930100 sts _t1_tick+1,R25
0016 80930000 sts _t1_tick,R24
001A .dbline -2
001A L2:
001A 8991 ld R24,y+
001C 8FBF out 0x3f,R24
001E 9991 ld R25,y+
0020 8991 ld R24,y+
0022 .dbline 0 ; func end
0022 1895 reti
0024 .dbend
0024 .dbfunc e get_t1_tick _get_t1_tick fc
.even
0024 _get_t1_tick::
0024 .dbline -1
0024 .dbline 33
0024 ; }
0024 ;
0024 ; /*延时函数*/
0024 ; //void wait_ms(unsigned int n) {
0024 ; //
0024 ; // unsigned int a, b;
0024 ; // for (a = 0; a < n; a++) {
0024 ; // for (b = 600; b; b--) {
0024 ; // ;
0024 ; // }
0024 ; // }
0024 ; //}
0024 ;
0024 ; unsigned char get_t1_tick(void) {
0024 .dbline 34
0024 ; if(t1_tick) {
0024 20900000 lds R2,_t1_tick
0028 30900100 lds R3,_t1_tick+1
002C 2220 tst R2
002E 11F4 brne X0
0030 3320 tst R3
0032 41F0 breq L4
0034 X0:
0034 .dbline 34
0034 .dbline 35
0034 ; t1_tick=0;
0034 2224 clr R2
0036 3324 clr R3
0038 30920100 sts _t1_tick+1,R3
003C 20920000 sts _t1_tick,R2
0040 .dbline 36
0040 ; return 1;
0040 01E0 ldi R16,1
0042 01C0 rjmp L3
0044 L4:
0044 .dbline 38
0044 ; }
0044 ; return 0;
0044 0027 clr R16
0046 .dbline -2
0046 L3:
0046 .dbline 0 ; func end
0046 0895 ret
0048 .dbend
0048 .dbfunc e wait_ms _wait_ms fV
0048 ; n -> R20,R21
.even
0048 _wait_ms::
0048 00D0 rcall push_gset1
004A A801 movw R20,R16
004C .dbline -1
004C .dbline 41
004C ; }
004C ;
004C ; void wait_ms(unsigned int n) {
004C 05C0 rjmp L8
004E L7:
004E .dbline 42
004E ; while(n) {
004E .dbline 43
004E ; if (get_t1_tick()) {
004E EADF rcall _get_t1_tick
0050 0023 tst R16
0052 11F0 breq L10
0054 .dbline 43
0054 .dbline 44
0054 ; n --;
0054 4150 subi R20,1
0056 5040 sbci R21,0
0058 .dbline 45
0058 ; }
0058 L10:
0058 .dbline 46
0058 L8:
0058 .dbline 42
0058 4030 cpi R20,0
005A 4507 cpc R20,R21
005C C1F7 brne L7
005E X1:
005E .dbline -2
005E L6:
005E 00D0 rcall pop_gset1
0060 .dbline 0 ; func end
0060 0895 ret
0062 .dbsym r n 20 i
0062 .dbend
.area bss(ram, con, rel)
0000 .dbfile E:\ICCAVR\project\avrisp\tools.c
0000 _t1_tick:
0000 .blkb 2
0002 .dbsym s t1_tick _t1_tick i
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -