📄 soc_test.lst
字号:
038B 2433 CLR R3
038C E000 LDI R16,0
038D E011 LDI R17,1
038E 932F PUSH R18
038F 933F PUSH R19
0390 0191 MOVW R18,R2
0391 940E0751 CALL empy16s
0393 913F POP R19
0394 912F POP R18
0395 DE51 RCALL _send_instruct
0396 5F4F SUBI R20,0xFF
0397 4F5F SBCI R21,0xFF
0398 3141 CPI R20,0x11
0399 E0E0 LDI R30,0
039A 075E CPC R21,R30
039B F334 BLT 0x0382
(0477)
(0478) }//end HB_param_set
039C 940E079A CALL pop_gset1
039E 9508 RET
_FIR_param_set:
i --> R20
039F 940E0797 CALL push_gset1
(0479)
(0480) /*********************************************************
(0481) FIR参数设置
(0482) *********************************************************/
(0483) void FIR_param_set(void)
(0484) {int i;
(0485) send_instruct(FIR_PARAM,0x3f);
03A1 E32F LDI R18,0x3F
03A2 E604 LDI R16,0x64
03A3 E011 LDI R17,1
03A4 DE42 RCALL _send_instruct
(0486) for(i=0;i<32;i++)
03A5 2744 CLR R20
03A6 2755 CLR R21
(0487) send_instruct((buffer[4+i]*256),i+0x40);
03A7 2F24 MOV R18,R20
03A8 5C20 SUBI R18,0xC0
03A9 4F3F SBCI R19,0xFF
03AA E283 LDI R24,0x23
03AB E091 LDI R25,1
03AC 01FA MOVW R30,R20
03AD 0FE8 ADD R30,R24
03AE 1FF9 ADC R31,R25
03AF 8020 LDD R2,Z+0
03B0 2433 CLR R3
03B1 E000 LDI R16,0
03B2 E011 LDI R17,1
03B3 932F PUSH R18
03B4 933F PUSH R19
03B5 0191 MOVW R18,R2
03B6 940E0751 CALL empy16s
03B8 913F POP R19
03B9 912F POP R18
03BA DE2C RCALL _send_instruct
03BB 5F4F SUBI R20,0xFF
03BC 4F5F SBCI R21,0xFF
03BD 3240 CPI R20,0x20
03BE E0E0 LDI R30,0
03BF 075E CPC R21,R30
03C0 F334 BLT 0x03A7
(0488)
(0489) }//end FIR_param_set
03C1 940E079A CALL pop_gset1
03C3 9508 RET
_DDS_param_set:
temp2 --> R10
temp1 --> Y+0
03C4 940E07B2 CALL push_gset3
03C6 9724 SBIW R28,4
(0490)
(0491) /*********************************************************
(0492) DDS参数设置
(0493) *********************************************************/
(0494) void DDS_param_set(void)
(0495) {long temp1;
(0496) short temp2;
(0497) systemregH=systemregH&0b11110111;
03C7 91800102 LDS R24,_systemregH
03C9 7F87 ANDI R24,0xF7
03CA 93800102 STS _systemregH,R24
(0498) SYSCTL_BYTE_HIG=systemregH;
03CC 2E28 MOV R2,R24
03CD 922019FF STS 0x19FF,R2
(0499) temp1=(long)buffer[4]*256*256*256;
03CF 90200123 LDS R2,0x123
03D1 2433 CLR R3
03D2 2444 CLR R4
03D3 2455 CLR R5
03D4 E040 LDI R20,0
03D5 E051 LDI R21,1
03D6 E060 LDI R22,0
03D7 E070 LDI R23,0
03D8 925A ST R5,-Y
03D9 924A ST R4,-Y
03DA 923A ST R3,-Y
03DB 922A ST R2,-Y
03DC 018A MOVW R16,R20
03DD 019B MOVW R18,R22
03DE 940E0761 CALL empy32s
03E0 E040 LDI R20,0
03E1 E051 LDI R21,1
03E2 E060 LDI R22,0
03E3 E070 LDI R23,0
03E4 933A ST R19,-Y
03E5 932A ST R18,-Y
03E6 931A ST R17,-Y
03E7 930A ST R16,-Y
03E8 018A MOVW R16,R20
03E9 019B MOVW R18,R22
03EA 940E0761 CALL empy32s
03EC E040 LDI R20,0
03ED E051 LDI R21,1
03EE E060 LDI R22,0
03EF E070 LDI R23,0
03F0 933A ST R19,-Y
03F1 932A ST R18,-Y
03F2 931A ST R17,-Y
03F3 930A ST R16,-Y
03F4 018A MOVW R16,R20
03F5 019B MOVW R18,R22
03F6 940E0761 CALL empy32s
03F8 01FE MOVW R30,R28
03F9 8300 STD Z+0,R16
03FA 8311 STD Z+1,R17
03FB 8322 STD Z+2,R18
03FC 8333 STD Z+3,R19
(0500) temp1=temp1+(long)buffer[5]*256*256;
03FD 90200124 LDS R2,0x124
03FF 2433 CLR R3
0400 2444 CLR R4
0401 2455 CLR R5
0402 E040 LDI R20,0
0403 E051 LDI R21,1
0404 E060 LDI R22,0
0405 E070 LDI R23,0
0406 925A ST R5,-Y
0407 924A ST R4,-Y
0408 923A ST R3,-Y
0409 922A ST R2,-Y
040A 018A MOVW R16,R20
040B 019B MOVW R18,R22
040C 940E0761 CALL empy32s
040E E040 LDI R20,0
040F E051 LDI R21,1
0410 E060 LDI R22,0
0411 E070 LDI R23,0
0412 933A ST R19,-Y
0413 932A ST R18,-Y
0414 931A ST R17,-Y
0415 930A ST R16,-Y
0416 018A MOVW R16,R20
0417 019B MOVW R18,R22
0418 940E0761 CALL empy32s
041A 01FE MOVW R30,R28
041B 8020 LDD R2,Z+0
041C 8031 LDD R3,Z+1
041D 8042 LDD R4,Z+2
041E 8053 LDD R5,Z+3
041F 0E20 ADD R2,R16
0420 1E31 ADC R3,R17
0421 1E42 ADC R4,R18
0422 1E53 ADC R5,R19
0423 01FE MOVW R30,R28
0424 8220 STD Z+0,R2
0425 8231 STD Z+1,R3
0426 8242 STD Z+2,R4
0427 8253 STD Z+3,R5
(0501) temp1=temp1+(long)buffer[6]*256;
0428 90200125 LDS R2,0x125
042A 2433 CLR R3
042B 2444 CLR R4
042C 2455 CLR R5
042D E040 LDI R20,0
042E E051 LDI R21,1
042F E060 LDI R22,0
0430 E070 LDI R23,0
0431 925A ST R5,-Y
0432 924A ST R4,-Y
0433 923A ST R3,-Y
0434 922A ST R2,-Y
0435 018A MOVW R16,R20
0436 019B MOVW R18,R22
0437 940E0761 CALL empy32s
0439 01FE MOVW R30,R28
043A 8020 LDD R2,Z+0
043B 8031 LDD R3,Z+1
043C 8042 LDD R4,Z+2
043D 8053 LDD R5,Z+3
043E 0E20 ADD R2,R16
043F 1E31 ADC R3,R17
0440 1E42 ADC R4,R18
0441 1E53 ADC R5,R19
0442 01FE MOVW R30,R28
0443 8220 STD Z+0,R2
0444 8231 STD Z+1,R3
0445 8242 STD Z+2,R4
0446 8253 STD Z+3,R5
(0502) temp1=temp1+(long)buffer[7];
0447 90200126 LDS R2,0x126
0449 2433 CLR R3
044A 2444 CLR R4
044B 2455 CLR R5
044C 01FE MOVW R30,R28
044D 8060 LDD R6,Z+0
044E 8071 LDD R7,Z+1
044F 8082 LDD R8,Z+2
0450 8093 LDD R9,Z+3
0451 0C62 ADD R6,R2
0452 1C73 ADC R7,R3
0453 1C84 ADC R8,R4
0454 1C95 ADC R9,R5
0455 01FE MOVW R30,R28
0456 8260 STD Z+0,R6
0457 8271 STD Z+1,R7
0458 8282 STD Z+2,R8
0459 8293 STD Z+3,R9
(0503) set_dds_freq(temp1);
045A 01FE MOVW R30,R28
045B 8100 LDD R16,Z+0
045C 8111 LDD R17,Z+1
045D 8122 LDD R18,Z+2
045E 8133 LDD R19,Z+3
045F DDD3 RCALL _set_dds_freq
(0504) temp2=buffer[8]*256+buffer[9];
0460 91200127 LDS R18,0x127
0462 2733 CLR R19
0463 E000 LDI R16,0
0464 E011 LDI R17,1
0465 940E0751 CALL empy16s
0467 0158 MOVW R10,R16
0468 90200128 LDS R2,0x128
046A 2433 CLR R3
046B 0CA2 ADD R10,R2
046C 1CB3 ADC R11,R3
(0505) set_dds_scale(0x07ff);
046D EF0F LDI R16,0xFF
046E E017 LDI R17,7
046F DDE8 RCALL _set_dds_scale
(0506) temp2=buffer[10]*256+buffer[11];
0470 91200129 LDS R18,0x129
0472 2733 CLR R19
0473 E000 LDI R16,0
0474 E011 LDI R17,1
0475 940E0751 CALL empy16s
0477 0158 MOVW R10,R16
0478 9020012A LDS R2,0x12A
047A 2433 CLR R3
047B 0CA2 ADD R10,R2
047C 1CB3 ADC R11,R3
(0507) set_dds_phase(temp2);
047D 0185 MOVW R16,R10
047E DDE6 RCALL _set_dds_phase
(0508) temp1=(long)buffer[12]*256*256*256;
047F 9020012B LDS R2,0x12B
0481 2433 CLR R3
0482 2444 CLR R4
0483 2455 CLR R5
0484 E040 LDI R20,0
0485 E051 LDI R21,1
0486 E060 LDI R22,0
0487 E070 LDI R23,0
0488 925A ST R5,-Y
0489 924A ST R4,-Y
048A 923A ST R3,-Y
048B 922A ST R2,-Y
048C 018A MOVW R16,R20
048D 019B MOVW R18,R22
048E 940E0761 CALL empy32s
0490 E040 LDI R20,0
0491 E051 LDI R21,1
0492 E060 LDI R22,0
0493 E070 LDI R23,0
0494 933A ST R19,-Y
0495 932A ST R18,-Y
0496 931A ST R17,-Y
0497 930A ST R16,-Y
0498 018A MOVW R16,R20
0499 019B MOVW R18,R22
049A 940E0761 CALL empy32s
049C E040 LDI R20,0
049D E051 LDI R21,1
049E E060 LDI R22,0
049F E070 LDI R23,0
04A0 933A ST R19,-Y
04A1 932A ST R18,-Y
04A2 931A ST R17,-Y
04A3 930A ST R16,-Y
04A4 018A MOVW R16,R20
04A5 019B MOVW R18,R22
04A6 940E0761 CALL empy32s
04A8 01FE MOVW R30,R28
04A9 8300 STD Z+0,R16
04AA 8311 STD Z+1,R17
04AB 8322 STD Z+2,R18
04AC 8333 STD Z+3,R19
(0509) temp1=temp1+(long)buffer[13]*256*256;
04AD 9020012C LDS R2,0x12C
04AF 2433 CLR R3
04B0 2444 CLR R4
04B1 2455 CLR R5
04B2 E040 LDI R20,0
04B3 E051 LDI R21,1
04B4 E060 LDI R22,0
04B5 E070 LDI R23,0
04B6 925A ST R5,-Y
04B7 924A ST R4,-Y
04B8 923A ST R3,-Y
04B9 922A ST R2,-Y
04BA 018A MOVW R16,R20
04BB 019B MOVW R18,R22
04BC 940E0761 CALL empy32s
04BE E040 LDI R20,0
04BF E051 LDI R21,1
04C0 E060 LDI R22,0
04C1 E070 LDI R23,0
04C2 933A ST R19,-Y
04C3 932A ST R18,-Y
04C4 931A ST R17,-Y
04C5 930A ST R16,-Y
04C6 018A MOVW R16,R20
04C7 019B MOVW R18,R22
04C8 940E0761 CALL empy32s
04CA 01FE MOVW R30,R28
04CB 8020 LDD R2,Z+0
04CC 8031 LDD R3,Z+1
04CD 8042 LDD R4,Z+2
04CE 8053 LDD R5,Z+3
04CF 0E20 ADD R2,R16
04D0 1E31 ADC R3,R17
04D1 1E42 ADC R4,R18
04D2 1E53 ADC R5,R19
04D3 01FE MOVW R30,R28
04D4 8220 STD Z+0,R2
04D5 8231 STD Z+1,R3
04D6 8242 STD Z+2,R4
04D7 8253 STD Z+3,R5
(0510) temp1=temp1+(long)buffer[14]*256;
04D8 9020012D LDS R2,0x12D
04DA 2433 CLR R3
04DB 2444 CLR R4
04DC 2455 CLR R5
04DD E040 LDI R20,0
04DE E051 LDI R21,1
04DF E060 LDI R22,0
04E0 E070 LDI R23,0
04E1 925A ST R5,-Y
04E2 924A ST R4,-Y
04E3 923A ST R3,-Y
04E4 922A ST R2,-Y
04E5 018A MOVW R16,R20
04E6 019B MOVW R18,R22
04E7 940E0761 CALL empy32s
04E9 01FE MOVW R30,R28
04EA 8020 LDD R2,Z+0
04EB 8031 LDD R3,Z+1
04EC 8042 LDD R4,Z+2
04ED 8053 LDD R5,Z+3
04EE 0E20 ADD R2,R16
04EF 1E31 ADC R3,R17
04F0 1E42 ADC R4,R18
04F1 1E53 ADC R5,R19
04F2 01FE MOVW R30,R28
04F3 8220 STD Z+0,R2
04F4 8231 STD Z+1,R3
04F5 8242 STD Z+2,R4
04F6 8253 STD Z+3,R5
(0511) temp1=temp1+(long)buffer[15];
04F7 9020012E LDS R2,0x12E
04F9 2433 CLR R3
04FA 2444 CLR R4
04FB 2455 CLR R5
04FC 01FE MOVW R30,R28
04FD 8060 LDD R6,Z+0
04FE 8071 LDD R7,Z+1
04FF 8082 LDD R8,Z+2
0500 8093 LDD R9,Z+3
0501 0C62 ADD R6,R2
0502 1C73 ADC R7,R3
0503 1C84 ADC R8,R4
0504 1C95 ADC R9,R5
0505 01FE MOVW R30,R28
0506 8260 STD Z+0,R6
0507 8271 STD Z+1,R7
0508 8282 STD Z+2,R8
0509 8293 STD Z+3,R9
(0512) set_dds_increment(temp1);
050A 01FE MOVW R30,R28
050B 8100 LDD R16,Z+0
050C 8111 LDD R17,Z+1
050D 8122 LDD R18,Z+2
050E 8133 LDD R19,Z+3
050F DD5E RCALL _set_dds_increment
(0513) NOP5();
0510 DB7F RCALL _NOP5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -