📄 main.lis
字号:
.module main.c
.area text(rom, con, rel)
0000 .dbfile C:\DOCUME~1\administrator\桌面\教程\LED应用\红绿灯闪烁\main.c
0000 .dbfunc e port_init _port_init fV
.even
0000 _port_init::
0000 .dbline -1
0000 .dbline 8
0000 ; //ICC-AVR application builder : 2006-12-9 下午 01:03:41
0000 ; // Target : M16
0000 ; // Crystal: 1.0000Mhz
0000 ;
0000 ; #include <iom16v.h>
0000 ; #include <macros.h>
0000 ; void port_init(void)
0000 ; {
0000 .dbline 9
0000 ; PORTA = 0x03;
0000 83E0 ldi R24,3
0002 8BBB out 0x1b,R24
0004 .dbline 10
0004 ; DDRA = 0x03;
0004 8ABB out 0x1a,R24
0006 .dbline 11
0006 ; PORTB = 0x00;
0006 2224 clr R2
0008 28BA out 0x18,R2
000A .dbline 12
000A ; DDRB = 0x00;
000A 27BA out 0x17,R2
000C .dbline 13
000C ; PORTC = 0x00; //m103 output only
000C 25BA out 0x15,R2
000E .dbline 14
000E ; DDRC = 0x00;
000E 24BA out 0x14,R2
0010 .dbline 15
0010 ; PORTD = 0x00;
0010 22BA out 0x12,R2
0012 .dbline 16
0012 ; DDRD = 0x00;
0012 21BA out 0x11,R2
0014 .dbline -2
0014 L1:
0014 .dbline 0 ; func end
0014 0895 ret
0016 .dbend
0016 .dbfunc e init_devices _init_devices fV
.even
0016 _init_devices::
0016 .dbline -1
0016 .dbline 21
0016 ; }
0016 ;
0016 ; //call this routine to initialize all peripherals
0016 ; void init_devices(void)
0016 ; {
0016 .dbline 23
0016 ; //stop errant interrupts until set up
0016 ; CLI(); //disable all interrupts
0016 F894 cli
0018 .dbline 24
0018 ; port_init();
0018 F3DF xcall _port_init
001A .dbline 25
001A ; MCUCR = 0x00;
001A 2224 clr R2
001C 25BE out 0x35,R2
001E .dbline 26
001E ; GICR = 0x00;
001E 2BBE out 0x3b,R2
0020 .dbline 27
0020 ; TIMSK = 0x00; //timer interrupt sources
0020 29BE out 0x39,R2
0022 .dbline 28
0022 ; SEI(); //re-enable interrupts
0022 7894 sei
0024 .dbline -2
0024 L2:
0024 .dbline 0 ; func end
0024 0895 ret
0026 .dbend
0026 .dbfunc e Delay _Delay fV
0026 ; i -> R16
0026 ; j -> R18
.even
0026 _Delay::
0026 .dbline -1
0026 .dbline 33
0026 ; //all peripherals are now initialized
0026 ; }
0026 ;
0026 ; void Delay(void)
0026 ; {
0026 .dbline 35
0026 ; unsigned char i,j;
0026 ; for(i=200;i>0;i--)
0026 08EC ldi R16,200
0028 07C0 xjmp L7
002A L4:
002A .dbline 36
002A ; {
002A .dbline 37
002A ; for(j=200;j>0;j--)
002A 28EC ldi R18,200
002C 01C0 xjmp L11
002E L8:
002E .dbline 38
002E L9:
002E .dbline 37
002E 2A95 dec R18
0030 L11:
0030 .dbline 37
0030 2224 clr R2
0032 2216 cp R2,R18
0034 E0F3 brlo L8
0036 .dbline 39
0036 L5:
0036 .dbline 35
0036 0A95 dec R16
0038 L7:
0038 .dbline 35
0038 2224 clr R2
003A 2016 cp R2,R16
003C B0F3 brlo L4
003E .dbline -2
003E L3:
003E .dbline 0 ; func end
003E 0895 ret
0040 .dbsym r i 16 c
0040 .dbsym r j 18 c
0040 .dbend
0040 .dbfunc e main _main fV
.even
0040 _main::
0040 .dbline -1
0040 .dbline 43
0040 ; ;
0040 ; }
0040 ; }
0040 ;
0040 ; void main(void)
0040 ; {
0040 .dbline 45
0040 ;
0040 ; init_devices(); //初始化
0040 EADF xcall _init_devices
0042 06C0 xjmp L14
0044 L13:
0044 .dbline 48
0044 .dbline 49
0044 82E0 ldi R24,2
0046 88BB out 0x18,R24
0048 .dbline 50
0048 EEDF xcall _Delay
004A .dbline 51
004A 81E0 ldi R24,1
004C 88BB out 0x18,R24
004E .dbline 52
004E EBDF xcall _Delay
0050 .dbline 53
0050 L14:
0050 .dbline 47
0050 F9CF xjmp L13
0052 X0:
0052 .dbline -2
0052 L12:
0052 .dbline 0 ; func end
0052 0895 ret
0054 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -