📄 liushuideng.lis
字号:
.module liushuideng.c
.area text(rom, con, rel)
0000 .dbfile D:\挑战杯(保留)\programs\liushuideng\liushuideng.c
0000 .dbfunc e delay _delay fV
0000 ; x -> R20,R21
0000 ; y -> R22,R23
0000 ; a -> R16,R17
.even
0000 _delay::
0000 0E940000 xcall push_xgsetF000
0004 .dbline -1
0004 .dbline 7
0004 ; #include<iom16v.h>
0004 ; #include<macros.h>
0004 ;
0004 ; int i;
0004 ;
0004 ; void delay(int a)
0004 ; {
0004 .dbline 9
0004 ; int x,y;
0004 ; for(x=0;x<a;x++)
0004 4427 clr R20
0006 5527 clr R21
0008 0AC0 xjmp L5
000A L2:
000A .dbline 10
000A ; for(y=0;y<1141;y++);
000A 6627 clr R22
000C 7727 clr R23
000E L6:
000E .dbline 10
000E L7:
000E .dbline 10
000E 6F5F subi R22,255 ; offset = 1
0010 7F4F sbci R23,255
0012 .dbline 10
0012 6537 cpi R22,117
0014 E4E0 ldi R30,4
0016 7E07 cpc R23,R30
0018 D4F3 brlt L6
001A X0:
001A L3:
001A .dbline 9
001A 4F5F subi R20,255 ; offset = 1
001C 5F4F sbci R21,255
001E L5:
001E .dbline 9
001E 4017 cp R20,R16
0020 5107 cpc R21,R17
0022 9CF3 brlt L2
0024 X1:
0024 .dbline -2
0024 L1:
0024 .dbline 0 ; func end
0024 0C940000 xjmp pop_xgsetF000
0028 .dbsym r x 20 I
0028 .dbsym r y 22 I
0028 .dbsym r a 16 I
0028 .dbend
0028 .dbfunc e main _main fI
.even
0028 _main::
0028 .dbline -1
0028 .dbline 14
0028 ; }
0028 ;
0028 ; main()
0028 ; {
0028 .dbline 15
0028 ; DDRA=0xff;
0028 8FEF ldi R24,255
002A 8ABB out 0x1a,R24
002C .dbline 16
002C ; PORTA=0xfe;
002C 8EEF ldi R24,254
002E 8BBB out 0x1b,R24
0030 52C0 xjmp L12
0032 L11:
0032 .dbline 18
0032 ; while(1)
0032 ; {
0032 .dbline 19
0032 ; for(i=0;i<8;i++)
0032 2224 clr R2
0034 3324 clr R3
0036 30920100 sts _i+1,R3
003A 20920000 sts _i,R2
003E L14:
003E .dbline 20
003E ; {
003E .dbline 21
003E ; PORTA|=0xff;
003E 8BB3 in R24,0x1b
0040 8F6F ori R24,255
0042 8BBB out 0x1b,R24
0044 .dbline 22
0044 ; PORTA&=~BIT(i);
0044 20910000 lds R18,_i
0048 30910100 lds R19,_i+1
004C 01E0 ldi R16,1
004E 10E0 ldi R17,0
0050 0E940000 xcall lsl16
0054 1801 movw R2,R16
0056 2094 com R2
0058 3094 com R3
005A 4BB2 in R4,0x1b
005C 5524 clr R5
005E 4220 and R4,R2
0060 5320 and R5,R3
0062 4BBA out 0x1b,R4
0064 .dbline 23
0064 ; delay(50);
0064 02E3 ldi R16,50
0066 10E0 ldi R17,0
0068 CBDF xcall _delay
006A .dbline 24
006A ; }
006A L15:
006A .dbline 19
006A 80910000 lds R24,_i
006E 90910100 lds R25,_i+1
0072 0196 adiw R24,1
0074 90930100 sts _i+1,R25
0078 80930000 sts _i,R24
007C .dbline 19
007C 8830 cpi R24,8
007E E0E0 ldi R30,0
0080 9E07 cpc R25,R30
0082 ECF2 brlt L14
0084 X2:
0084 .dbline 25
0084 ; for(i=6;i>=1;i--)
0084 86E0 ldi R24,6
0086 90E0 ldi R25,0
0088 90930100 sts _i+1,R25
008C 80930000 sts _i,R24
0090 L18:
0090 .dbline 26
0090 ; {
0090 .dbline 27
0090 ; PORTA|=0xff;
0090 8BB3 in R24,0x1b
0092 8F6F ori R24,255
0094 8BBB out 0x1b,R24
0096 .dbline 28
0096 ; PORTA&=~BIT(i);
0096 20910000 lds R18,_i
009A 30910100 lds R19,_i+1
009E 01E0 ldi R16,1
00A0 10E0 ldi R17,0
00A2 0E940000 xcall lsl16
00A6 1801 movw R2,R16
00A8 2094 com R2
00AA 3094 com R3
00AC 4BB2 in R4,0x1b
00AE 5524 clr R5
00B0 4220 and R4,R2
00B2 5320 and R5,R3
00B4 4BBA out 0x1b,R4
00B6 .dbline 29
00B6 ; delay(50);
00B6 02E3 ldi R16,50
00B8 10E0 ldi R17,0
00BA A2DF xcall _delay
00BC .dbline 30
00BC ; }
00BC L19:
00BC .dbline 25
00BC 80910000 lds R24,_i
00C0 90910100 lds R25,_i+1
00C4 0197 sbiw R24,1
00C6 90930100 sts _i+1,R25
00CA 80930000 sts _i,R24
00CE .dbline 25
00CE 8130 cpi R24,1
00D0 E0E0 ldi R30,0
00D2 9E07 cpc R25,R30
00D4 ECF6 brge L18
00D6 X3:
00D6 .dbline 31
00D6 ; }
00D6 L12:
00D6 .dbline 17
00D6 ADCF xjmp L11
00D8 X4:
00D8 .dbline -2
00D8 L10:
00D8 .dbline 0 ; func end
00D8 0895 ret
00DA .dbend
.area bss(ram, con, rel)
0000 .dbfile D:\挑战杯(保留)\programs\liushuideng\liushuideng.c
0000 _i::
0000 .blkb 2
0002 .dbsym e i _i I
0002 ; }
0002 ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -