tools.lis

来自「文档里面的代码是可以正常使用的」· LIS 代码 · 共 126 行

LIS
126
字号
                        .module tools.c
                        .area data(ram, con, rel)
 0000           _eeprom_sck_period::
 0000                   .blkb 1
                        .area idata
 0000 0A                .byte 10
                        .area data(ram, con, rel)
 0001                   .dbfile E:\ICCAVR\icc\stk500\avrasp\tools.c
 0001                   .dbsym e eeprom_sck_period _eeprom_sck_period c
                        .area vector(rom, abs)
                        .org 22
 0016 00C0              rjmp _T1_OCR1A
                        .area data(ram, con, rel)
 0001                   .dbfile E:\ICCAVR\icc\stk500\avrasp\tools.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\ICCAVR\icc\stk500\avrasp\tools.c
 0000                   .dbfunc e T1_OCR1A _T1_OCR1A fV
                        .even
 0000           _T1_OCR1A::
 0000 8A93              st -y,R24
 0002 8FB7              in R24,0x3f
 0004 8A93              st -y,R24
 0006                   .dbline -1
 0006                   .dbline 14
 0006           ; 
 0006           ; #include "stk500.h"
 0006           ; 
 0006           ; static unsigned char t1_tick;
 0006           ; 
 0006           ; //Konstanten im EEPROM
 0006           ; //#define EEPROM  __attribute__ ((section (".eeprom")))
 0006           ; 
 0006           ; //Variablen im EEPROM
 0006           ; //EEPROM unsigned char eeprom_sck_period=10;
 0006           ; unsigned char eeprom_sck_period=10;
 0006           ; 
 0006           ; #pragma interrupt_handler T1_OCR1A: 12
 0006           ; void T1_OCR1A(void) {
 0006                   .dbline 15
 0006           ;       t1_tick=1;
 0006 81E0              ldi R24,1
 0008 80930000          sts _t1_tick,R24
 000C                   .dbline -2
 000C           L2:
 000C 8991              ld R24,y+
 000E 8FBF              out 0x3f,R24
 0010 8991              ld R24,y+
 0012                   .dbline 0 ; func end
 0012 1895              reti
 0014                   .dbend
 0014                   .dbfunc e get_t1_tick _get_t1_tick fc
                        .even
 0014           _get_t1_tick::
 0014                   .dbline -1
 0014                   .dbline 18
 0014           ; }
 0014           ; 
 0014           ; unsigned char get_t1_tick(void) {
 0014                   .dbline 19
 0014           ;       if(t1_tick) {
 0014 20900000          lds R2,_t1_tick
 0018 2220              tst R2
 001A 29F0              breq L4
 001C                   .dbline 19
 001C                   .dbline 20
 001C           ;               t1_tick=0;
 001C 2224              clr R2
 001E 20920000          sts _t1_tick,R2
 0022                   .dbline 21
 0022           ;               return 1;
 0022 01E0              ldi R16,1
 0024 01C0              rjmp L3
 0026           L4:
 0026                   .dbline 23
 0026           ;               }
 0026           ;       return 0;
 0026 0027              clr R16
 0028                   .dbline -2
 0028           L3:
 0028                   .dbline 0 ; func end
 0028 0895              ret
 002A                   .dbend
 002A                   .dbfunc e wait_ms _wait_ms fV
 002A           ;              n -> R20,R21
                        .even
 002A           _wait_ms::
 002A 00D0              rcall push_gset1
 002C A801              movw R20,R16
 002E                   .dbline -1
 002E                   .dbline 26
 002E           ; }
 002E           ; 
 002E           ; void wait_ms(unsigned int n) {
 002E 05C0              rjmp L8
 0030           L7:
 0030                   .dbline 27
 0030           ;       while(n) {
 0030                   .dbline 28
 0030           ;               if(get_t1_tick()) n--;
 0030 F1DF              rcall _get_t1_tick
 0032 0023              tst R16
 0034 11F0              breq L10
 0036                   .dbline 28
 0036 4150              subi R20,1
 0038 5040              sbci R21,0
 003A           L10:
 003A                   .dbline 29
 003A           L8:
 003A                   .dbline 27
 003A 4030              cpi R20,0
 003C 4507              cpc R20,R21
 003E C1F7              brne L7
 0040           X0:
 0040                   .dbline -2
 0040           L6:
 0040 00D0              rcall pop_gset1
 0042                   .dbline 0 ; func end
 0042 0895              ret
 0044                   .dbsym r n 20 i
 0044                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile E:\ICCAVR\icc\stk500\avrasp\tools.c
 0000           _t1_tick:
 0000                   .blkb 1
 0001                   .dbsym s t1_tick _t1_tick c

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?