📄 dianzhen.lis
字号:
.module dianzhen.c
.area lit(rom, con, rel)
0000 _Tab::
0000 21F9 .byte 33,249
0002 1351 .byte 19,'Q
0004 C945 .byte 201,'E
0006 05F1 .byte 5,241
0008 0141 .byte 1,'A
000A 810D .byte 129,13
000C 2719 .byte 39,25
000E 0787 .byte 7,135
0010 .dbfile C:\ATMega8515\点阵/ForATmega8515.h
0010 .dbsym e Tab _Tab A[16:16]kc
0010 _pic1::
0010 1818 .byte 24,24
0012 99DB .byte 153,219
0014 7E3C .byte 126,60
0016 1800 .byte 24,0
0018 .dbfile C:\ATMega8515\点阵\dianzhen.c
0018 .dbsym e pic1 _pic1 A[8:8]kc
0018 _pic2::
0018 3018 .byte 48,24
001A 0CFE .byte 12,254
001C FE0C .byte 254,12
001E 1830 .byte 24,48
0020 .dbsym e pic2 _pic2 A[8:8]kc
0020 _pic3::
0020 0018 .byte 0,24
0022 3C7E .byte 60,126
0024 DB99 .byte 219,153
0026 1818 .byte 24,24
0028 .dbsym e pic3 _pic3 A[8:8]kc
0028 _pic4::
0028 0C18 .byte 12,24
002A 307F .byte 48,127
002C 7F30 .byte 127,48
002E 180C .byte 24,12
0030 .dbsym e pic4 _pic4 A[8:8]kc
0030 _line::
0030 0002 .byte 0,2
0032 0406 .byte 4,6
0034 080A .byte 8,10
0036 0C0E .byte 12,14
0038 .dbsym e line _line A[8:8]kc
.area text(rom, con, rel)
0000 .dbfile C:\ATMega8515\点阵\dianzhen.c
0000 .dbfunc e main _main fV
0000 ; softdelay -> R20,R21
.even
0000 _main::
0000 .dbline -1
0000 .dbline 19
0000 ; #include <iom8515v.h>
0000 ; #include <macros.h>
0000 ; #include"ForATmega8515.h"
0000 ; //延时(短)
0000 ; #define SomeNop NOP();NOP();NOP();NOP();NOP();NOP();\
0000 ; NOP();NOP();NOP();NOP();NOP();NOP();\
0000 ; NOP();NOP();NOP();NOP();NOP();NOP();
0000 ;
0000 ; uchar const pic1[]={0x18,0x18,0x99,0xDB,0x7E,0x3C,0x18,0x00};
0000 ; uchar const pic2[]={0x30,0x18,0x0C,0xFE,0xFE,0x0C,0x18,0x30};
0000 ; uchar const pic3[]={0x00,0x18,0x3C,0x7E,0xDB,0x99,0x18,0x18};
0000 ; uchar const pic4[]={0x0C,0x18,0x30,0x7F,0x7F,0x30,0x18,0x0C};
0000 ; uchar const line[]={0,2,4,6,8,10,12,14};
0000 ;
0000 ; void delay(uint tick);//延时(长)
0000 ; void display(uchar const *graph);
0000 ;
0000 ; void main()
0000 ; {
0000 .dbline 20
0000 ; uint softdelay=1000;
0000 48EE ldi R20,1000
0002 53E0 ldi R21,3
0004 .dbline 21
0004 ; init_devices();
0004 00D0 rcall _init_devices
0006 33C0 rjmp L3
0008 X0:
0008 .dbline 23
0008 ; while(1)
0008 ; {
0008 L5:
0008 .dbline 24
0008 00E0 ldi R16,<_pic1
000A 10E0 ldi R17,>_pic1
000C 40D0 rcall _display
000E L6:
000E .dbline 24
000E ; while(softdelay--)display(pic1);//显示pic1
000E 1A01 movw R2,R20
0010 4150 subi R20,1
0012 5040 sbci R21,0
0014 2220 tst R2
0016 C1F7 brne L5
0018 3320 tst R3
001A B1F7 brne L5
001C X1:
001C .dbline 25
001C ; softdelay=1000;
001C 48EE ldi R20,1000
001E 53E0 ldi R21,3
0020 03C0 rjmp L9
0022 L8:
0022 .dbline 26
0022 00E0 ldi R16,<_pic2
0024 10E0 ldi R17,>_pic2
0026 33D0 rcall _display
0028 L9:
0028 .dbline 26
0028 ; while(softdelay--)display(pic2);//显示pic2
0028 1A01 movw R2,R20
002A 4150 subi R20,1
002C 5040 sbci R21,0
002E 2220 tst R2
0030 C1F7 brne L8
0032 3320 tst R3
0034 B1F7 brne L8
0036 X2:
0036 .dbline 27
0036 ; softdelay=1000;
0036 48EE ldi R20,1000
0038 53E0 ldi R21,3
003A 03C0 rjmp L12
003C L11:
003C .dbline 28
003C 00E0 ldi R16,<_pic3
003E 10E0 ldi R17,>_pic3
0040 26D0 rcall _display
0042 L12:
0042 .dbline 28
0042 ; while(softdelay--)display(pic3);//显示pic3
0042 1A01 movw R2,R20
0044 4150 subi R20,1
0046 5040 sbci R21,0
0048 2220 tst R2
004A C1F7 brne L11
004C 3320 tst R3
004E B1F7 brne L11
0050 X3:
0050 .dbline 29
0050 ; softdelay=1000;
0050 48EE ldi R20,1000
0052 53E0 ldi R21,3
0054 03C0 rjmp L15
0056 L14:
0056 .dbline 30
0056 00E0 ldi R16,<_pic4
0058 10E0 ldi R17,>_pic4
005A 19D0 rcall _display
005C L15:
005C .dbline 30
005C 1A01 movw R2,R20
005E 4150 subi R20,1
0060 5040 sbci R21,0
0062 2220 tst R2
0064 C1F7 brne L14
0066 3320 tst R3
0068 B1F7 brne L14
006A X4:
006A .dbline 31
006A 48EE ldi R20,1000
006C 53E0 ldi R21,3
006E .dbline 32
006E L3:
006E .dbline 22
006E CFCF rjmp L6
0070 X5:
0070 .dbline -2
0070 L1:
0070 .dbline 0 ; func end
0070 0895 ret
0072 .dbsym r softdelay 20 i
0072 .dbend
0072 .dbfunc e delay _delay fV
0072 ; i -> R20
0072 ; ticks -> R16,R17
.even
0072 _delay::
0072 00D0 rcall push_gset1
0074 .dbline -1
0074 .dbline 36
0074 ; while(softdelay--)display(pic4);//显示pic4
0074 ; softdelay=1000;
0074 ; }
0074 ; }
0074 ;
0074 ; void delay(uint ticks)
0074 ; {
0074 .dbline 38
0074 07C0 rjmp L21
0076 L18:
0076 .dbline 38
0076 48EC ldi R20,200
0078 01C0 rjmp L25
007A L22:
007A .dbline 38
007A L23:
007A .dbline 38
007A 4A95 dec R20
007C L25:
007C .dbline 38
007C 4423 tst R20
007E E9F7 brne L22
0080 L19:
0080 .dbline 38
0080 0150 subi R16,1
0082 1040 sbci R17,0
0084 L21:
0084 .dbline 38
0084 ; uchar i;
0084 ; for(;ticks!=0;ticks--)for(i=200;i!=0;i--);
0084 0030 cpi R16,0
0086 0107 cpc R16,R17
0088 B1F7 brne L18
008A X6:
008A .dbline -2
008A L17:
008A 00D0 rcall pop_gset1
008C .dbline 0 ; func end
008C 0895 ret
008E .dbsym r i 20 c
008E .dbsym r ticks 16 i
008E .dbend
008E .dbfunc e display _display fV
008E ; i -> R20
008E ; graph -> R22,R23
.even
008E _display::
008E 00D0 rcall push_gset2
0090 B801 movw R22,R16
0092 .dbline -1
0092 .dbline 42
0092 ; }
0092 ;
0092 ; void display(uchar const *graph)
0092 ; {
0092 .dbline 44
0092 ; uchar i;
0092 ; for(i=0;i!=8;i++)
0092 4427 clr R20
0094 2BC0 rjmp L30
0096 L27:
0096 .dbline 45
0096 .dbline 46
0096 C09A sbi 0x18,0
0098 .dbline 47
0098 1B01 movw R2,R22
009A 6F5F subi R22,255 ; offset = 1
009C 7F4F sbci R23,255
009E F101 movw R30,R2
00A0 E491 lpm R30,Z
00A2 EFB9 out 0xf,R30
00A4 .dbline 48
00A4 0000 nop
00A6 .dbline 48
00A6 0000 nop
00A8 .dbline 48
00A8 0000 nop
00AA .dbline 48
00AA 0000 nop
00AC .dbline 48
00AC 0000 nop
00AE .dbline 48
00AE 0000 nop
00B0 .dbline 48
00B0 0000 nop
00B2 .dbline 48
00B2 0000 nop
00B4 .dbline 48
00B4 0000 nop
00B6 .dbline 48
00B6 0000 nop
00B8 .dbline 48
00B8 0000 nop
00BA .dbline 48
00BA 0000 nop
00BC .dbline 48
00BC 0000 nop
00BE .dbline 48
00BE 0000 nop
00C0 .dbline 48
00C0 0000 nop
00C2 .dbline 48
00C2 0000 nop
00C4 .dbline 48
00C4 0000 nop
00C6 .dbline 48
00C6 0000 nop
00C8 .dbline 49
00C8 88B3 in R24,0x18
00CA 817F andi R24,241
00CC 88BB out 0x18,R24
00CE .dbline 50
00CE 80E0 ldi R24,<_line
00D0 90E0 ldi R25,>_line
00D2 E42F mov R30,R20
00D4 FF27 clr R31
00D6 E80F add R30,R24
00D8 F91F adc R31,R25
00DA E491 lpm R30,Z
00DC 28B2 in R2,0x18
00DE 2E2A or R2,R30
00E0 28BA out 0x18,R2
00E2 .dbline 51
00E2 C098 cbi 0x18,0
00E4 .dbline 52
00E4 01E0 ldi R16,1
00E6 10E0 ldi R17,0
00E8 C4DF rcall _delay
00EA .dbline 53
00EA L28:
00EA .dbline 44
00EA 4395 inc R20
00EC L30:
00EC .dbline 44
00EC 4830 cpi R20,8
00EE 09F0 breq X7
00F0 D2CF rjmp L27
00F2 X7:
00F2 .dbline -2
00F2 L26:
00F2 00D0 rcall pop_gset2
00F4 .dbline 0 ; func end
00F4 0895 ret
00F6 .dbsym r i 20 c
00F6 .dbsym r graph 22 pkc
00F6 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -