⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 common.lis

📁 微程序控制器采用ATMEL AVR MEGA162
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .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 + -