📄 训练项目十三:基于dds芯片ad9851的信号源.lst
字号:
NO DEBUG INFORMATION AVAILABLE!
__text_start:
__start:
32 EFCF LDI R28,0xFF
33 E0DF LDI R29,0xF
34 BFCD OUT 0x3D,R28
35 BFDE OUT 0x3E,R29
36 51C0 SUBI R28,0x10
37 40D0 SBCI R29,0
38 EA0A LDI R16,0xAA
39 8308 STD Y+0,R16
3A 2400 CLR R0
3B E6E0 LDI R30,0x60
3C E0F0 LDI R31,0
3D E010 LDI R17,0
3E 36E0 CPI R30,0x60
3F 07F1 CPC R31,R17
40 F011 BEQ 0x0043
41 9201 ST R0,Z+
42 CFFB RJMP 0x003E
43 8300 STD Z+0,R16
44 E6E4 LDI R30,0x64
45 E0F0 LDI R31,0
46 E6A0 LDI R26,0x60
47 E0B0 LDI R27,0
48 E010 LDI R17,0
49 E000 LDI R16,0
4A BF0B OUT 0x3B,R16
4B 36E4 CPI R30,0x64
4C 07F1 CPC R31,R17
4D F021 BEQ 0x0052
4E 95C8 LPM
4F 9631 ADIW R30,1
50 920D ST R0,X+
51 CFF9 RJMP 0x004B
52 940E 00F5 CALL _main
_exit:
54 CFFF RJMP _exit
_Delay:
55 934A ST R20,-Y
56 935A ST R21,-Y
57 2744 CLR R20
58 2755 CLR R21
59 C002 RJMP 0x005C
5A 5F4F SUBI R20,0xFF
5B 4F5F SBCI R21,0xFF
5C 1740 CP R20,R16
5D 0751 CPC R21,R17
5E F3D8 BCS 0x005A
5F 9159 LD R21,Y+
60 9149 LD R20,Y+
61 9508 RET
_Delay_1ms:
62 2700 CLR R16
63 2711 CLR R17
64 C002 RJMP 0x0067
65 5F0F SUBI R16,0xFF
66 4F1F SBCI R17,0xFF
67 3D04 CPI R16,0xD4
68 E0E8 LDI R30,0x8
69 071E CPC R17,R30
6A F3D0 BCS 0x0065
6B 9508 RET
_Delay_nms:
6C 940E 011F CALL push_xgset300C
6E 0158 MOVW R10,R16
6F 2744 CLR R20
70 2755 CLR R21
71 C003 RJMP 0x0075
72 DFEF RCALL _Delay_1ms
73 5F4F SUBI R20,0xFF
74 4F5F SBCI R21,0xFF
75 154A CP R20,R10
76 055B CPC R21,R11
77 F3D0 BCS 0x0072
78 940C 0124 JMP pop_xgset300C
_Delay_ms:
7A 940E 011F CALL push_xgset300C
7C 0158 MOVW R10,R16
7D 2744 CLR R20
7E 2755 CLR R21
7F C005 RJMP 0x0085
80 EE08 LDI R16,0xE8
81 E013 LDI R17,3
82 DFE9 RCALL _Delay_nms
83 5F4F SUBI R20,0xFF
84 4F5F SBCI R21,0xFF
85 154A CP R20,R10
86 055B CPC R21,R11
87 F3C0 BCS 0x0080
88 940C 0124 JMP pop_xgset300C
_Init9851:
8A B384 IN R24,0x14
8B 6083 ORI R24,3
8C BB84 OUT 0x14,R24
8D 9AB8 SBI 0x17,0
8E EF8F LDI R24,0xFF
8F BB88 OUT 0x18,R24
90 98A9 CBI 0x15,1
91 98A8 CBI 0x15,0
92 E002 LDI R16,2
93 E010 LDI R17,0
94 DFC0 RCALL _Delay
95 9AA9 SBI 0x15,1
96 E002 LDI R16,2
97 E010 LDI R17,0
98 DFBC RCALL _Delay
99 98A9 CBI 0x15,1
9A E005 LDI R16,5
9B E010 LDI R17,0
9C DFB8 RCALL _Delay
9D 9AA8 SBI 0x15,0
9E E002 LDI R16,2
9F E010 LDI R17,0
A0 DFB4 RCALL _Delay
A1 98A8 CBI 0x15,0
A2 9508 RET
_WriteAD9851:
A3 940E 0106 CALL push_arg4
A5 934A ST R20,-Y
A6 98A9 CBI 0x15,1
A7 98A8 CBI 0x15,0
A8 2744 CLR R20
A9 C01C RJMP 0x00C6
AA 98A9 CBI 0x15,1
AB 8029 LDD R2,Y+1
AC 803A LDD R3,Y+2
AD 804B LDD R4,Y+3
AE 805C LDD R5,Y+4
AF 2DE2 MOV R30,R2
B0 70E1 ANDI R30,1
B1 F411 BNE 0x00B4
B2 3240 CPI R20,0x20
B3 F411 BNE 0x00B6
B4 9AC0 SBI 0x18,0
B5 C002 RJMP 0x00B8
B6 2422 CLR R2
B7 BA28 OUT 0x18,R2
B8 9AA9 SBI 0x15,1
B9 8029 LDD R2,Y+1
BA 803A LDD R3,Y+2
BB 804B LDD R4,Y+3
BC 805C LDD R5,Y+4
BD 9456 LSR R5
BE 9447 ROR R4
BF 9437 ROR R3
C0 9427 ROR R2
C1 8229 STD Y+1,R2
C2 823A STD Y+2,R3
C3 824B STD Y+3,R4
C4 825C STD Y+4,R5
C5 9543 INC R20
C6 3248 CPI R20,0x28
C7 F310 BCS 0x00AA
C8 9AA8 SBI 0x15,0
C9 98A9 CBI 0x15,1
CA E005 LDI R16,5
CB E010 LDI R17,0
CC DF88 RCALL _Delay
CD 98A8 CBI 0x15,0
CE 9149 LD R20,Y+
CF 9624 ADIW R28,4
D0 9508 RET
_Write_freq:
D1 940E 0106 CALL push_arg4
D3 9724 SBIW R28,4
D4 E600 LDI R16,0x60
D5 E010 LDI R17,0
D6 940E 010B CALL elpm32
D8 0118 MOVW R2,R16
D9 0129 MOVW R4,R18
DA 810C LDD R16,Y+4
DB 811D LDD R17,Y+5
DC 812E LDD R18,Y+6
DD 813F LDD R19,Y+7
DE 940E 0169 CALL ulong2fp
E0 933A ST R19,-Y
E1 932A ST R18,-Y
E2 931A ST R17,-Y
E3 930A ST R16,-Y
E4 0181 MOVW R16,R2
E5 0192 MOVW R18,R4
E6 940E 0256 CALL fpmule2
E8 940E 0132 CALL fpint
EA 8308 STD Y+0,R16
EB 8319 STD Y+1,R17
EC 832A STD Y+2,R18
ED 833B STD Y+3,R19
EE 8108 LDD R16,Y+0
EF 8119 LDD R17,Y+1
F0 812A LDD R18,Y+2
F1 813B LDD R19,Y+3
F2 DFB0 RCALL _WriteAD9851
F3 9628 ADIW R28,0x8
F4 9508 RET
_main:
F5 9724 SBIW R28,4
F6 E684 LDI R24,0x64
F7 E090 LDI R25,0
F8 E0A0 LDI R26,0
F9 E0B0 LDI R27,0
FA 8388 STD Y+0,R24
FB 8399 STD Y+1,R25
FC 83AA STD Y+2,R26
FD 83BB STD Y+3,R27
FE DF8B RCALL _Init9851
FF E000 LDI R16,0
100 E21D LDI R17,0x2D
101 E321 LDI R18,0x31
102 E031 LDI R19,1
103 DFCD RCALL _Write_freq
104 9624 ADIW R28,4
105 9508 RET
push_arg4:
106 933A ST R19,-Y
107 932A ST R18,-Y
push_arg2:
108 931A ST R17,-Y
109 930A ST R16,-Y
10A 9508 RET
elpm32:
10B 93EA ST R30,-Y
10C 93FA ST R31,-Y
10D 920A ST R0,-Y
10E 2FE0 MOV R30,R16
10F 2FF1 MOV R31,R17
110 95D8 ELPM
111 2D00 MOV R16,R0
112 9631 ADIW R30,1
113 95D8 ELPM
114 2D10 MOV R17,R0
115 9631 ADIW R30,1
116 95D8 ELPM
117 2D20 MOV R18,R0
118 9631 ADIW R30,1
119 95D8 ELPM
11A 2D30 MOV R19,R0
11B 9009 LD R0,Y+
11C 91F9 LD R31,Y+
11D 91E9 LD R30,Y+
11E 9508 RET
push_xgset300C:
11F 935A ST R21,-Y
120 934A ST R20,-Y
121 92BA ST R11,-Y
122 92AA ST R10,-Y
123 9508 RET
pop_xgset300C:
124 90A9 LD R10,Y+
125 90B9 LD R11,Y+
126 9149 LD R20,Y+
127 9159 LD R21,Y+
128 9508 RET
neg32:
129 9500 COM R16
12A 9510 COM R17
12B 9520 COM R18
12C 9530 COM R19
12D 5F0F SUBI R16,0xFF
12E 4F1F SBCI R17,0xFF
12F 4F2F SBCI R18,0xFF
130 4F3F SBCI R19,0xFF
131 9508 RET
fpint:
132 934A ST R20,-Y
133 935A ST R21,-Y
134 936A ST R22,-Y
135 940E 018E CALL unpacku
137 F0F1 BEQ 0x0156
138 2355 TST R21
139 F0C2 BMI 0x0152
13A 314F CPI R20,0x1F
13B F4A8 BCC 0x0151
13C 3147 CPI R20,0x17
13D F0C1 BEQ 0x0156
13E F450 BCC 0x0149
13F 9541 NEG R20
140 5E49 SUBI R20,0xE9
141 C005 RJMP 0x0147
142 9535 ASR R19
143 9527 ROR R18
144 9517 ROR R17
145 9507 ROR R16
146 954A DEC R20
147 F7D1 BNE 0x0142
148 C00D RJMP 0x0156
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -