📄 led.lis
字号:
.module led.c
.area text(rom, con, rel)
0000 .dbfile E:\icc\iccavr\mega8\mega8\led\led.c
0000 .dbfunc e Delay _Delay fV
0000 ; a -> R16
0000 ; b -> R18
.even
0000 _Delay::
0000 .dbline -1
0000 .dbline 12
0000 ; /******************************************/
0000 ; /* 广州天河双龙电子公司 */
0000 ; /* http://www.sl.com.cn */
0000 ; /* LED演示程序 */
0000 ; /* 作者:ntzwq@wx88.net */
0000 ; /* 目标MCU:MEGA8 晶振:INT RC 2MHZ */
0000 ; /******************************************/
0000 ; #include <iom8v.h>
0000 ; #define set_bit(x,y) (x|=(1<<y))
0000 ; #define clr_bit(x,y) (x&=~(1<<y))
0000 ; void Delay()
0000 ; {
0000 .dbline 15
0000 ; unsigned char a, b;
0000 ;
0000 ; for (a = 1; a; a++)
0000 01E0 ldi R16,1
0002 06C0 rjmp L5
0004 L2:
0004 .dbline 16
0004 ; for (b = 1; b; b++)
0004 21E0 ldi R18,1
0006 01C0 rjmp L9
0008 L6:
0008 .dbline 17
0008 L7:
0008 .dbline 16
0008 2395 inc R18
000A L9:
000A .dbline 16
000A 2223 tst R18
000C E9F7 brne L6
000E L3:
000E .dbline 15
000E 0395 inc R16
0010 L5:
0010 .dbline 15
0010 0023 tst R16
0012 C1F7 brne L2
0014 .dbline -2
0014 .dbline 18
0014 ; ;
0014 ; }
0014 L1:
0014 .dbline 0 ; func end
0014 0895 ret
0016 .dbsym r a 16 c
0016 .dbsym r b 18 c
0016 .dbend
0016 .dbfunc e main _main fV
0016 ; j -> R20
0016 ; i -> R22
.even
0016 _main::
0016 .dbline -1
0016 .dbline 20
0016 ; void main()
0016 ; {
0016 .dbline 22
0016 ; unsigned char i,j;
0016 ; OSCCAL=0x7f;
0016 8FE7 ldi R24,127
0018 81BF out 0x31,R24
001A .dbline 23
001A ; DDRD=0xFF; /* output */
001A 8FEF ldi R24,255
001C 81BB out 0x11,R24
001E .dbline 24
001E ; PORTD=0xff; /* all off */
001E 82BB out 0x12,R24
0020 .dbline 25
0020 ; DDRB=0xff;
0020 87BB out 0x17,R24
0022 .dbline 26
0022 ; PORTB=0xff;
0022 88BB out 0x18,R24
0024 1FC0 rjmp L12
0026 L11:
0026 .dbline 28
0026 ; while (1)
0026 ; {
0026 .dbline 29
0026 ; for(j=4;j<8;j++)
0026 44E0 ldi R20,4
0028 1BC0 rjmp L17
002A L14:
002A .dbline 30
002A ; {
002A .dbline 31
002A ; clr_bit(PORTD,j);
002A 01E0 ldi R16,1
002C 142F mov R17,R20
002E 00D0 rcall lsl8
0030 202E mov R2,R16
0032 2094 com R2
0034 32B2 in R3,0x12
0036 3220 and R3,R2
0038 32BA out 0x12,R3
003A .dbline 32
003A ; for(i=0;i<8;i++)
003A 6627 clr R22
003C 08C0 rjmp L21
003E L18:
003E .dbline 33
003E .dbline 34
003E 01E0 ldi R16,1
0040 162F mov R17,R22
0042 00D0 rcall lsl8
0044 202E mov R2,R16
0046 2094 com R2
0048 28BA out 0x18,R2
004A .dbline 35
004A DADF rcall _Delay
004C .dbline 36
004C L19:
004C .dbline 32
004C 6395 inc R22
004E L21:
004E .dbline 32
004E 6830 cpi R22,8
0050 B0F3 brlo L18
0052 .dbline 37
0052 01E0 ldi R16,1
0054 142F mov R17,R20
0056 00D0 rcall lsl8
0058 22B2 in R2,0x12
005A 202A or R2,R16
005C 22BA out 0x12,R2
005E .dbline 38
005E L15:
005E .dbline 29
005E 4395 inc R20
0060 L17:
0060 .dbline 29
0060 4830 cpi R20,8
0062 18F3 brlo L14
0064 .dbline 39
0064 L12:
0064 .dbline 27
0064 E0CF rjmp L11
0066 X0:
0066 .dbline -2
0066 .dbline 40
0066 ; {
0066 ; PORTB=~(1<<i);
0066 ; Delay();
0066 ; }
0066 ; set_bit(PORTD,j);
0066 ; }
0066 ; }
0066 ; }
0066 L10:
0066 .dbline 0 ; func end
0066 0895 ret
0068 .dbsym r j 20 c
0068 .dbsym r i 22 c
0068 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -