📄 led.lst
字号:
__start:
__text_start:
0013 E5CF LDI R28,0x5F
0014 E0D4 LDI R29,4
0015 BFCD OUT 0x3D,R28
0016 BFDE OUT 0x3E,R29
0017 51C0 SUBI R28,0x10
0018 40D0 SBCI R29,0
0019 EA0A LDI R16,0xAA
001A 8308 STD Y+0,R16
001B 2400 CLR R0
001C E6E0 LDI R30,0x60
001D E0F0 LDI R31,0
001E E010 LDI R17,0
001F 36E0 CPI R30,0x60
0020 07F1 CPC R31,R17
0021 F011 BEQ 0x0024
0022 9201 ST R0,Z+
0023 CFFB RJMP 0x001F
0024 8300 STD Z+0,R16
0025 E2E6 LDI R30,0x26
0026 E0F0 LDI R31,0
0027 E6A0 LDI R26,0x60
0028 E0B0 LDI R27,0
0029 E010 LDI R17,0
002A 32E6 CPI R30,0x26
002B 07F1 CPC R31,R17
002C F021 BEQ 0x0031
002D 95C8 LPM
002E 9631 ADIW R30,1
002F 920D ST R0,X+
0030 CFF9 RJMP 0x002A
0031 D00C RCALL _main
_exit:
0032 CFFF RJMP _exit
FILE: E:\icc\iccavr\mega8\mega8\led\led.c
(0001) /******************************************/
(0002) /* 广州天河双龙电子公司 */
(0003) /* http://www.sl.com.cn */
(0004) /* LED演示程序 */
(0005) /* 作者:ntzwq@wx88.net */
(0006) /* 目标MCU:MEGA8 晶振:INT RC 2MHZ */
(0007) /******************************************/
(0008) #include <iom8v.h>
(0009) #define set_bit(x,y) (x|=(1<<y))
(0010) #define clr_bit(x,y) (x&=~(1<<y))
(0011) void Delay()
(0012) {
(0013) unsigned char a, b;
(0014)
(0015) for (a = 1; a; a++)
_Delay:
a --> R16
b --> R18
0033 E001 LDI R16,1
0034 C006 RJMP 0x003B
(0016) for (b = 1; b; b++)
0035 E021 LDI R18,1
0036 C001 RJMP 0x0038
0037 9523 INC R18
0038 2322 TST R18
0039 F7E9 BNE 0x0037
003A 9503 INC R16
003B 2300 TST R16
003C F7C1 BNE 0x0035
(0017) ;
(0018) }
003D 9508 RET
(0019) void main()
(0020) {
(0021) unsigned char i,j;
(0022) OSCCAL=0x7f;
_main:
j --> R20
i --> R22
003E E78F LDI R24,0x7F
003F BF81 OUT 0x31,R24
(0023) DDRD=0xFF; /* output */
0040 EF8F LDI R24,0xFF
0041 BB81 OUT 0x11,R24
(0024) PORTD=0xff; /* all off */
0042 BB82 OUT 0x12,R24
(0025) DDRB=0xff;
0043 BB87 OUT 0x17,R24
(0026) PORTB=0xff;
0044 BB88 OUT 0x18,R24
0045 C01F RJMP 0x0065
(0027) while (1)
(0028) {
(0029) for(j=4;j<8;j++)
0046 E044 LDI R20,4
0047 C01B RJMP 0x0063
(0030) {
(0031) clr_bit(PORTD,j);
0048 E001 LDI R16,1
0049 2F14 MOV R17,R20
004A D01C RCALL lsl8
004B 2E20 MOV R2,R16
004C 9420 COM R2
004D B232 IN R3,0x12
004E 2032 AND R3,R2
004F BA32 OUT 0x12,R3
(0032) for(i=0;i<8;i++)
0050 2766 CLR R22
0051 C008 RJMP 0x005A
(0033) {
(0034) PORTB=~(1<<i);
0052 E001 LDI R16,1
0053 2F16 MOV R17,R22
0054 D012 RCALL lsl8
0055 2E20 MOV R2,R16
0056 9420 COM R2
0057 BA28 OUT 0x18,R2
(0035) Delay();
0058 DFDA RCALL _Delay
0059 9563 INC R22
005A 3068 CPI R22,0x8
005B F3B0 BCS 0x0052
(0036) }
(0037) set_bit(PORTD,j);
005C E001 LDI R16,1
005D 2F14 MOV R17,R20
005E D008 RCALL lsl8
005F B222 IN R2,0x12
0060 2A20 OR R2,R16
0061 BA22 OUT 0x12,R2
0062 9543 INC R20
0063 3048 CPI R20,0x8
0064 F318 BCS 0x0048
0065 CFE0 RJMP 0x0046
(0038) }
(0039) }
(0040) }
FILE: <library>
0066 9508 RET
lsl8:
0067 2311 TST R17
0068 F019 BEQ 0x006C
0069 0F00 LSL R16
006A 951A DEC R17
006B CFFB RJMP lsl8
006C 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -