📄 common.lis
字号:
.module common.c
.area text(rom, con, rel)
0000 .dbfile F:\mydoc\avrproject\icc\big162\gpseep\common.c
0000 .dbfunc e delay _delay fV
0000 ; a -> R16
.even
0000 _delay::
0000 .dbline -1
0000 .dbline 3
0000 ; #include "common.h"
0000 ; void delay(BYTE a)
0000 ; {
0000 01C0 xjmp L3
0002 L2:
0002 .dbline 5
0002 0A95 dec R16
0004 L3:
0004 .dbline 4
0004 ; while(a)
0004 0023 tst R16
0006 E9F7 brne L2
0008 .dbline 6
0008 ; a--;
0008 ; asm("nop");
0008 0000 nop
000A .dbline -2
000A L1:
000A .dbline 0 ; func end
000A 0895 ret
000C .dbsym r a 16 c
000C .dbend
000C .dbfunc e DelayM _DelayM fV
000C ; a -> R20
000C ; b -> R22,R23
000C ; c -> R16
.even
000C _DelayM::
000C 0E940000 xcall push_gset2
0010 .dbline -1
0010 .dbline 11
0010 ; }
0010 ;
0010 ;
0010 ; void DelayM(BYTE c)
0010 ; {
0010 .dbline 14
0010 ; unsigned char a;
0010 ; unsigned int b;
0010 ; for (a = c; a; a--)
0010 402F mov R20,R16
0012 09C0 xjmp L9
0014 L6:
0014 .dbline 15
0014 ; for (b = 64911; b; b++)
0014 6FE8 ldi R22,64911
0016 7DEF ldi R23,253
0018 02C0 xjmp L13
001A L10:
001A .dbline 16
001A L11:
001A .dbline 15
001A 6F5F subi R22,255 ; offset = 1
001C 7F4F sbci R23,255
001E L13:
001E .dbline 15
001E 6030 cpi R22,0
0020 6707 cpc R22,R23
0022 D9F7 brne L10
0024 X0:
0024 L7:
0024 .dbline 14
0024 4A95 dec R20
0026 L9:
0026 .dbline 14
0026 4423 tst R20
0028 A9F7 brne L6
002A .dbline -2
002A L5:
002A 0E940000 xcall pop_gset2
002E .dbline 0 ; func end
002E 0895 ret
0030 .dbsym r a 20 c
0030 .dbsym r b 22 i
0030 .dbsym r c 16 c
0030 .dbend
0030 .dbfunc e DelayMORE _DelayMORE fV
0030 ; a -> R20
0030 ; b -> R22,R23
0030 ; c -> R16
.even
0030 _DelayMORE::
0030 0E940000 xcall push_gset2
0034 .dbline -1
0034 .dbline 20
0034 ; ;
0034 ; }
0034 ;
0034 ; void DelayMORE(BYTE c)
0034 ; {
0034 .dbline 23
0034 ; unsigned char a;
0034 ; unsigned int b;
0034 ; for (a = c; a; a--)
0034 402F mov R20,R16
0036 09C0 xjmp L18
0038 L15:
0038 .dbline 24
0038 ; for (b = 1; b; b++)
0038 61E0 ldi R22,1
003A 70E0 ldi R23,0
003C 02C0 xjmp L22
003E L19:
003E .dbline 25
003E L20:
003E .dbline 24
003E 6F5F subi R22,255 ; offset = 1
0040 7F4F sbci R23,255
0042 L22:
0042 .dbline 24
0042 6030 cpi R22,0
0044 6707 cpc R22,R23
0046 D9F7 brne L19
0048 X1:
0048 L16:
0048 .dbline 23
0048 4A95 dec R20
004A L18:
004A .dbline 23
004A 4423 tst R20
004C A9F7 brne L15
004E .dbline -2
004E L14:
004E 0E940000 xcall pop_gset2
0052 .dbline 0 ; func end
0052 0895 ret
0054 .dbsym r a 20 c
0054 .dbsym r b 22 i
0054 .dbsym r c 16 c
0054 .dbend
.area data(ram, con, rel)
0000 .dbfile F:\mydoc\avrproject\icc\big162\gpseep\common.c
0000 _timerCounter::
0000 .blkb 1
.area idata
0000 00 .byte 0
.area data(ram, con, rel)
0001 .dbfile F:\mydoc\avrproject\icc\big162\gpseep\common.c
0001 .dbsym e timerCounter _timerCounter c
0001 _timerCounter1::
0001 .blkb 1
.area idata
0001 00 .byte 0
.area data(ram, con, rel)
0002 .dbfile F:\mydoc\avrproject\icc\big162\gpseep\common.c
0002 .dbsym e timerCounter1 _timerCounter1 c
0002 _timerCounter2::
0002 .blkb 1
.area idata
0002 00 .byte 0
.area data(ram, con, rel)
0003 .dbfile F:\mydoc\avrproject\icc\big162\gpseep\common.c
0003 .dbsym e timerCounter2 _timerCounter2 c
.area text(rom, con, rel)
0054 .dbfile F:\mydoc\avrproject\icc\big162\gpseep\common.c
0054 .dbfunc e initTimer _initTimer fV
.even
0054 _initTimer::
0054 .dbline -1
0054 .dbline 36
0054 ; ;
0054 ; }
0054 ;
0054 ;
0054 ; BYTE volatile timerCounter = 0;
0054 ; BYTE volatile timerCounter1 = 0;
0054 ; BYTE volatile timerCounter2 = 0;
0054 ; BYTE timepoint;
0054 ; BYTE timepoint1;
0054 ; BYTE timepoint2;
0054 ; void initTimer()
0054 ; {
0054 .dbline 37
0054 ; TCCR0 = 5; // timer0 prescale 1/1024 (7)
0054 85E0 ldi R24,5
0056 83BF out 0x33,R24
0058 .dbline 38
0058 ; timepoint=255;
0058 8FEF ldi R24,255
005A 80930200 sts _timepoint,R24
005E .dbline -2
005E L23:
005E .dbline 0 ; func end
005E 0895 ret
0060 .dbend
.area vector(rom, abs)
.org 68
0044 0C943000 jmp _SIG_OVERFLOW0
.area text(rom, con, rel)
0060 .dbfile F:\mydoc\avrproject\icc\big162\gpseep\common.c
0060 .dbfunc e SIG_OVERFLOW0 _SIG_OVERFLOW0 fV
.even
0060 _SIG_OVERFLOW0::
0060 2A92 st -y,R2
0062 3A92 st -y,R3
0064 4A92 st -y,R4
0066 8A93 st -y,R24
0068 9A93 st -y,R25
006A 2FB6 in R2,0x3f
006C 2A92 st -y,R2
006E .dbline -1
006E .dbline 43
006E .dbline 44
006E 20900000 lds R2,_timerCounter
0072 3324 clr R3
0074 822D mov R24,R2
0076 8F5F subi R24,255 ; addi 1
0078 80930000 sts _timerCounter,R24
007C 40900200 lds R4,_timepoint
0080 4214 cp R4,R2
0082 78F4 brsh L25
0084 .dbline 44
0084 .dbline 45
0084 80E2 ldi R24,32
0086 22B2 in R2,0x12
0088 2826 eor R2,R24
008A 22BA out 0x12,R2
008C .dbline 46
008C 80E4 ldi R24,64
008E 22B2 in R2,0x12
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -