📄 dz.lst
字号:
Interrupt Vectors
00000 940C 0032 JMP __text_start|__start
Program Code (text area)
__text_start|__start:
00032 E5CF LDI R28,0x5F
00033 E0D4 LDI R29,4
00034 BFCD OUT 0x3D,R28
00035 BFDE OUT 0x3E,R29
00036 51CE SUBI R28,0x1E
00037 40D0 SBCI R29,0
00038 EA0A LDI R16,0xAA
00039 8308 ST Y,R16
0003A 2400 CLR R0
0003B E7E0 LDI R30,0x70
0003C E0F0 LDI R31,0
0003D E010 LDI R17,0
0003E 37E0 CPI R30,0x70
0003F 07F1 CPC R31,R17
00040 F011 BEQ 0x0043
00041 9201 ST Z+,R0
00042 CFFB RJMP 0x003E
00043 8300 ST Z,R16
00044 E5E4 LDI R30,0x54
00045 E0F0 LDI R31,0
00046 E6A0 LDI R26,0x60
00047 E0B0 LDI R27,0
00048 E010 LDI R17,0
00049 E000 LDI R16,0
0004A BF0B OUT 0x3B,R16
0004B 36E4 CPI R30,0x64
0004C 07F1 CPC R31,R17
0004D F021 BEQ 0x0052
0004E 95C8 LPM
0004F 9631 ADIW R30,1
00050 920D ST X+,R0
00051 CFF9 RJMP 0x004B
00052 940E 006A CALL _main
_exit:
00054 CFFF RJMP _exit
_delay:
i --> R20
j --> R22
ms --> R16
00055 940E 0089 CALL push_xgsetF000
FILE: E:\AVR自编程序\11实验板\17点阵\点阵.c
(0001) #include <iom16v.h>
(0002) #include <macros.h>
(0003) #define uchar unsigned char
(0004) #define uint unsigned int
(0005)
(0006) //圆形显示
(0007) unsigned char const tabP0[]={0x00,0x3c,0x42,0x42,0x42,0x42,0x3c,0x00};
(0008) unsigned char const tabP2[]={0x7F,0xBF,0x0DF,0x0EF,0x0F7,0x0FB,0x0FD,0x0FE};
(0009)
(0010)
(0011) void delay(uint ms)
(0012) {
(0013) uint i,j;
(0014) for(i=0;i<ms;i++)
00057 2744 CLR R20
00058 2755 CLR R21
00059 C00B RJMP 0x0065
(0015) {
(0016) for(j=0;j<1141;j++);
0005A 2766 CLR R22
0005B 2777 CLR R23
0005C C002 RJMP 0x005F
0005D 5F6F SUBI R22,0xFF
0005E 4F7F SBCI R23,0xFF
0005F 3765 CPI R22,0x75
00060 E0E4 LDI R30,4
00061 077E CPC R23,R30
00062 F3D0 BCS 0x005D
00063 5F4F SUBI R20,0xFF
00064 4F5F SBCI R21,0xFF
00065 1740 CP R20,R16
00066 0751 CPC R21,R17
00067 F390 BCS 0x005A
00068 940C 008E JMP pop_xgsetF000
(0017) }
(0018) }
(0019)
(0020) void main()
(0021) {
(0022) int i;
(0023) DDRA=0xff;
_main:
i --> R20
0006A EF8F LDI R24,0xFF
0006B BB8A OUT 0x1A,R24
(0024) DDRC=0xff;
0006C BB84 OUT 0x14,R24
0006D C019 RJMP 0x0087
(0025) while(1)
(0026) {
(0027) for(i=0;i<8;i++)
0006E 2744 CLR R20
0006F 2755 CLR R21
(0028) {
(0029)
(0030) PORTA=tabP0[i];
00070 E680 LDI R24,0x60
00071 E090 LDI R25,0
00072 01FA MOVW R30,R20
00073 0FE8 ADD R30,R24
00074 1FF9 ADC R31,R25
00075 8020 LD R2,Z
00076 BA2B OUT 0x1B,R2
(0031) PORTC=tabP2[i];
00077 E688 LDI R24,0x68
00078 E090 LDI R25,0
00079 01FA MOVW R30,R20
0007A 0FE8 ADD R30,R24
0007B 1FF9 ADC R31,R25
0007C 8020 LD R2,Z
0007D BA25 OUT 0x15,R2
(0032) delay(1);
FILE: <library>
0007E E001 LDI R16,1
0007F E010 LDI R17,0
00080 DFD4 RCALL _delay
00081 5F4F SUBI R20,0xFF
00082 4F5F SBCI R21,0xFF
00083 3048 CPI R20,0x8
00084 E0E0 LDI R30,0
00085 075E CPC R21,R30
00086 F34C BLT 0x0070
00087 CFE6 RJMP 0x006E
00088 9508 RET
push_xgsetF000:
00089 937A ST -Y,R23
0008A 936A ST -Y,R22
0008B 935A ST -Y,R21
0008C 934A ST -Y,R20
0008D 9508 RET
pop_xgsetF000:
0008E 9149 LD R20,Y+
0008F 9159 LD R21,Y+
00090 9169 LD R22,Y+
00091 9179 LD R23,Y+
00092 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -