📄 lesson3_1.lis
字号:
.module lesson3_1.c
.area text(rom, con, rel)
0000 .dbfile C:\iccv7avr\examples.avr\chengxu\lesson3_1\lesson3_1.c
0000 .dbfunc e delay _delay fV
0000 ; i -> R20,R21
0000 ; j -> R22,R23
0000 ; ms -> R16,R17
.even
0000 _delay::
0000 0E940000 xcall push_xgsetF000
0004 .dbline -1
0004 .dbline 6
0004 ; #include <iom16v.h>
0004 ; #include <macros.h>
0004 ; #define uchar unsigned char
0004 ; #define uint unsigned int
0004 ; void delay(uint ms)
0004 ; {
0004 .dbline 8
0004 ; uint i,j;
0004 ; for(i=0;i<ms;i++)
0004 4427 clr R20
0006 5527 clr R21
0008 0BC0 xjmp L5
000A L2:
000A .dbline 9
000A ; {
000A .dbline 10
000A ; for(j=0;j<1141;j++);
000A 6627 clr R22
000C 7727 clr R23
000E 02C0 xjmp L9
0010 L6:
0010 .dbline 10
0010 L7:
0010 .dbline 10
0010 6F5F subi R22,255 ; offset = 1
0012 7F4F sbci R23,255
0014 L9:
0014 .dbline 10
0014 6537 cpi R22,117
0016 E4E0 ldi R30,4
0018 7E07 cpc R23,R30
001A D0F3 brlo L6
001C X0:
001C .dbline 11
001C ; }
001C L3:
001C .dbline 8
001C 4F5F subi R20,255 ; offset = 1
001E 5F4F sbci R21,255
0020 L5:
0020 .dbline 8
0020 4017 cp R20,R16
0022 5107 cpc R21,R17
0024 90F3 brlo L2
0026 X1:
0026 .dbline -2
0026 L1:
0026 .dbline 0 ; func end
0026 0C940000 xjmp pop_xgsetF000
002A .dbsym r i 20 i
002A .dbsym r j 22 i
002A .dbsym r ms 16 i
002A .dbend
002A .dbfunc e main _main fV
002A ; k -> R20
.even
002A _main::
002A .dbline -1
002A .dbline 14
002A ; }
002A ; void main()
002A ; {
002A .dbline 16
002A ; uchar k;
002A ; DDRA|=BIT(2);
002A D29A sbi 0x1a,2
002C .dbline 17
002C ; PORTA|=BIT(2);
002C DA9A sbi 0x1b,2
002E .dbline 19
002E ;
002E ; DDRB=0XFF;
002E 8FEF ldi R24,255
0030 87BB out 0x17,R24
0032 .dbline 20
0032 ; PORTB=0XFF;
0032 88BB out 0x18,R24
0034 1BC0 xjmp L12
0036 L11:
0036 .dbline 22
0036 ; while(1)
0036 ; {
0036 .dbline 23
0036 ; for(k=0;k<8;k++)
0036 4427 clr R20
0038 17C0 xjmp L17
003A L14:
003A .dbline 24
003A ; {
003A .dbline 25
003A ; PORTB&=~BIT(k);
003A 01E0 ldi R16,1
003C 142F mov R17,R20
003E 0E940000 xcall lsl8
0042 202E mov R2,R16
0044 2094 com R2
0046 38B2 in R3,0x18
0048 3220 and R3,R2
004A 38BA out 0x18,R3
004C .dbline 26
004C ; delay(500);
004C 04EF ldi R16,500
004E 11E0 ldi R17,1
0050 D7DF xcall _delay
0052 .dbline 28
0052 ;
0052 ; PORTB|=BIT(k);
0052 01E0 ldi R16,1
0054 142F mov R17,R20
0056 0E940000 xcall lsl8
005A 28B2 in R2,0x18
005C 202A or R2,R16
005E 28BA out 0x18,R2
0060 .dbline 29
0060 ; delay(500);
0060 04EF ldi R16,500
0062 11E0 ldi R17,1
0064 CDDF xcall _delay
0066 .dbline 30
0066 ; }
0066 L15:
0066 .dbline 23
0066 4395 inc R20
0068 L17:
0068 .dbline 23
0068 4830 cpi R20,8
006A 38F3 brlo L14
006C X2:
006C .dbline 31
006C ; }
006C L12:
006C .dbline 21
006C E4CF xjmp L11
006E X3:
006E .dbline -2
006E L10:
006E .dbline 0 ; func end
006E 0895 ret
0070 .dbsym r k 20 c
0070 .dbend
0070 ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -