📄 hgq.asm
字号:
;>>>> ub_xs=6.00;
LALK FL29
LRLK AR3,_ub_xs+0
MAR * ,AR3
RPTK 1
TBLR *+
.line 13
;>>>> ua_xs=0.30;
LALK FL27
LRLK AR3,_ua_xs+0
RPTK 1
TBLR *+
.line 14
;>>>> for(i=0x100;i<0x3fff;i=i+0x100)
MAR * ,AR2
LARK AR2,1
MAR *0+
SPLK #256,*
ZALS *
SUBK 16383
BGEZ L98
L97:
.line 16
;>>>> ad7538=i;
OUT *+,0e100h
.line 17
;>>>> for(j=0;j<0xffff;j++)
LACK 0
SACL *
ZALS *
RSXM
SUBK -1
BGEZ L100
MAR *+
L99:
.line 18
;>>>> for(k=0;k<0x10;k++);
LACK 0
SACL *
ZALS *
SUBK 16
BGEZ L102
L101:
LAC *
ADDK 1
SACL *
ZALS *
SUBK 16
BLZ L101
L102:
.line 17
MAR *-
LAC *
ADDK 1
SACL *
ZALS *+
RSXM
SUBK -1
BLZ L99
L100:
.line 19
;>>>> sample(5);
MAR * ,AR1
LACK 5
SACL *+
CALL _sample
MAR *-
.line 20
;>>>> kkfft();
CALL _kkfft
.line 21
;>>>> if(ik>0.4||uk>3.0) break;
LALK FL24
RPTK 1
TBLR *+
RPTK 1
BLKD _ik+0,*+
CALL F$$GT
BNZ L98
LALK FL16
RPTK 1
TBLR *+
RPTK 1
BLKD _uk+0,*+
CALL F$$GT
BNZ L98
.line 14
MAR * ,AR2
LARK AR2,1
MAR *0+
LAC *
ADDK 256
SACL *
ZALS *
SUBK 16383
BLZ L97
L98:
.line 23
;>>>> sample(5);
MAR * ,AR1
LACK 5
SACL *+
CALL _sample
MAR *-
.line 24
;>>>> kkfft();
CALL _kkfft
.line 25
;>>>> if(uk*ua_xs<0.3)
LALK FL27
RPTK 1
TBLR *+
RPTK 1
BLKD _ua_xs+0,*+
RPTK 1
BLKD _uk+0,*+
CALL F$$MUL
CALL F$$LT
BZ L104
.line 27
;>>>> jdq_ctr(2,0x8+0x60);
LACK 104
SACL *+
LACK 2
SACL *+
CALL _jdq_ctr
SBRK 2
.line 28
;>>>> ua_xs=3.0;
LALK FL16
LRLK AR3,_ua_xs+0
MAR * ,AR3
RPTK 1
TBLR *+
.line 29
;>>>> sample(5);
MAR * ,AR1
LACK 5
SACL *+
CALL _sample
MAR *-
.line 30
;>>>> kkfft();
CALL _kkfft
.line 31
;>>>> if(uk*ua_xs<0.3)
LALK FL27
RPTK 1
TBLR *+
RPTK 1
BLKD _ua_xs+0,*+
RPTK 1
BLKD _uk+0,*+
CALL F$$MUL
CALL F$$LT
BZ L104
.line 33
;>>>> jdq_ctr(1,0x01+0x80);
LACK 129
SACL *+
LACK 1
SACL *+
CALL _jdq_ctr
SBRK 2
.line 34
;>>>> ua_xs=30.0;
LALK FL30
LRLK AR3,_ua_xs+0
MAR * ,AR3
RPTK 1
TBLR *+
L104:
.line 37
;>>>> for(i=0;i<10;i++)
LACK 0
MAR * ,AR2
LARK AR2,1
MAR *0+
SACL *
ZALS *
SUBK 10
BGEZ L107
MAR * ,AR1
L106:
.line 39
;>>>> sample(5);
LACK 5
SACL *+
CALL _sample
MAR *-
.line 40
;>>>> kkfft();
CALL _kkfft
.line 41
;>>>> ukr1[i]=uk/(ik/Rcaiyang1);
LALK FL31
RPTK 1
TBLR *+
RPTK 1
BLKD _ik+0,*+
CALL F$$DIV
RPTK 1
BLKD _uk+0,*+
CALL F$$DIV
MAR *-,AR2
LARK AR2,1
MAR *0+
LAC * ,1,AR0
ADLK _ukr1+0,0
SACL *
LAR AR3,* ,AR1
ZALH *-
ADDS * ,AR3
SACL *+
SACH *-,AR2
.line 37
LAC *
ADDK 1
SACL *
ZALS * ,AR1
SUBK 10
BLZ L106
L107:
.line 43
;>>>> CT_bd=ratio_lb(ukr1);
LALK _ukr1+0
MAR * ,AR1
SACL *+
CALL _ratio_lb
MAR *-
LDPK _CT_bd
SACL _CT_bd
SACH _CT_bd+1
.line 44
;>>>> CT_cos=cos(angle1*pii/180.0);
LALK FL32
RPTK 1
TBLR *+
LALK FL33
RPTK 1
TBLR *+
RPTK 1
BLKD _angle1+0,*+
CALL F$$MUL
CALL F$$DIV
CALL _cos
SBRK 2
LDPK _CT_cos
SACL _CT_cos
SACH _CT_cos+1
.line 45
;>>>> CT_R=CT_bd*CT_cos;
RPTK 1
BLKD _CT_cos+0,*+
RPTK 1
BLKD _CT_bd+0,*+
CALL F$$MUL
MAR *-
ZALH *-
ADDS *
LDPK _CT_R
SACL _CT_R
SACH _CT_R+1
.line 46
;>>>> CT_X=CT_bd*sin(angle1*pii/180.0);
LALK FL32
RPTK 1
TBLR *+
LALK FL33
RPTK 1
TBLR *+
RPTK 1
BLKD _angle1+0,*+
CALL F$$MUL
CALL F$$DIV
CALL _sin
SBRK 2
SACL *+
SACH *+
RPTK 1
BLKD _CT_bd+0,*+
CALL F$$MUL
MAR *-
ZALH *-
ADDS *
LDPK _CT_X
SACL _CT_X
SACH _CT_X+1
.line 47
;>>>> if(CT2_mode ==0)
LDPK _CT2_mode
LAC _CT2_mode
BNZ L108
.line 49
;>>>> CT_VA=25.0*CT_bd;
RPTK 1
BLKD _CT_bd+0,*+
LALK FL28
RPTK 1
TBLR *+
CALL F$$MUL
MAR *-
ZALH *-
ADDS *
LDPK _CT_VA
SACL _CT_VA
SACH _CT_VA+1
B L109
L108:
.line 51
;>>>> else CT_VA=CT_bd;
LDPK _CT_bd
ZALS _CT_bd
ADDH _CT_bd+1
LDPK _CT_VA
SACL _CT_VA
SACH _CT_VA+1
L109:
.line 52
;>>>> init_dsp();
CALL _init_dsp
EPI0_8:
.line 53
SBRK 5
LAR AR0,*-
PSHD *
RET
.endfunc 612,000000000H,4
.sym _PT_burden,_PT_burden,32,2,0
.globl _PT_burden
.func 615
;>>>> void PT_burden(void)
;>>>> unsigned int i,j,k;
******************************************************
* FUNCTION DEF : _PT_burden
******************************************************
_PT_burden:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,4
LAR AR0,*0+,AR0
.sym _i,1,14,1,16
.sym _j,2,14,1,16
.sym _k,3,14,1,16
.line 4
;>>>> reg_tcr=0x0c20;
LACK 3104
SACL *
OUT * ,0fff8h,AR3
.line 5
;>>>> out_fre=50.0;
LALK FL18
LRLK AR3,_out_fre+0
RPTK 1
TBLR *+
.line 6
;>>>> reg_prd=(int)(15625.0/out_fre-1.0);
MAR * ,AR1
LALK FL4
RPTK 1
TBLR *+
RPTK 1
BLKD _out_fre+0,*+
LALK FL19
RPTK 1
TBLR *+
CALL F$$DIV
CALL F$$SUB
CALL F$$FTOI
SACL *
OUT * ,0fff9h,AR0
.line 7
;>>>> sample_prd=1;
LACK 1
LDPK _sample_prd
SACL _sample_prd
.line 8
;>>>> ad7538=0;
LACK 0
SACL *
OUT * ,0e100h,AR1
.line 9
;>>>> admit_ctr_pga=0x8+0x04;
LACK 12
SACL _admit_ctr_pga
.line 10
;>>>> jdq_ctr(2,0x8+0x04+0x1);
LACK 13
SACL *+
LACK 2
SACL *+
CALL _jdq_ctr
SBRK 2
.line 11
;>>>> jdq_ctr(1,0x01);
LACK 1
SACL *+
SACL *+
CALL _jdq_ctr
SBRK 2
.line 12
;>>>> R_caiyang=20.00;
LALK FL7
LRLK AR3,_R_caiyang+0
MAR * ,AR3
RPTK 1
TBLR *+
.line 13
;>>>> ub_xs=1.00;
LALK FL4
LRLK AR3,_ub_xs+0
RPTK 1
TBLR *+
.line 14
;>>>> ua_xs=0.30;
LALK FL27
LRLK AR3,_ua_xs+0
RPTK 1
TBLR *+
.line 15
;>>>> for(i=0x100;i<0x3fff;i=i+0x100)
MAR * ,AR2
LARK AR2,1
MAR *0+
SPLK #256,*
ZALS *
SUBK 16383
BGEZ L111
L110:
.line 17
;>>>> ad7538=i;
OUT *+,0e100h
.line 18
;>>>> for(j=0;j<0xffff;j++)
LACK 0
SACL *
ZALS *
RSXM
SUBK -1
BGEZ L113
MAR *+
L112:
.line 19
;>>>> for(k=0;k<0x10;k++);
LACK 0
SACL *
ZALS *
SUBK 16
BGEZ L115
L114:
LAC *
ADDK 1
SACL *
ZALS *
SUBK 16
BLZ L114
L115:
.line 18
MAR *-
LAC *
ADDK 1
SACL *
ZALS *+
RSXM
SUBK -1
BLZ L112
L113:
.line 20
;>>>> sample(5);
MAR * ,AR1
LACK 5
SACL *+
CALL _sample
MAR *-
.line 21
;>>>> kkfft();
CALL _kkfft
.line 22
;>>>> if(uk>6.0||ik>3.0) break;
LALK FL29
RPTK 1
TBLR *+
RPTK 1
BLKD _uk+0,*+
CALL F$$GT
BNZ L111
LALK FL16
RPTK 1
TBLR *+
RPTK 1
BLKD _ik+0,*+
CALL F$$GT
BNZ L111
.line 15
MAR * ,AR2
LARK AR2,1
MAR *0+
LAC *
ADDK 256
SACL *
ZALS *
SUBK 16383
BLZ L110
L111:
.line 24
;>>>> sample(5);
MAR * ,AR1
LACK 5
SACL *+
CALL _sample
MAR *-
.line 25
;>>>> kkfft();
CALL _kkfft
.line 26
;>>>> if(ik<0.3)
LALK FL27
RPTK 1
TBLR *+
RPTK 1
BLKD _ik+0,*+
CALL F$$LT
BZ L117
.line 28
;>>>> admit_ctr_pga=0x8+0x10;
LACK 24
LDPK _admit_ctr_pga
SACL _admit_ctr_pga
.line 29
;>>>> jdq_ctr(2,0x8+0x10+0x1);
LACK 25
SACL *+
LACK 2
SACL *+
CALL _jdq_ctr
SBRK 2
.line 30
;>>>> R_caiyang=200.0;
LALK FL34
LRLK AR3,_R_caiyang+0
MAR * ,AR3
RPTK 1
TBLR *+
.line 31
;>>>> for(j=0;j<0xffff;j++);
LACK 0
MAR * ,AR2
LARK AR2,2
MAR *0+
SACL *
ZALS *
RSXM
SUBK -1
BGEZ L119
L118:
LAC *
ADDK 1
SACL *
ZALS *
SUBK -1
BLZ L118
L119:
.line 32
;>>>> sample(5);
MAR * ,AR1
LACK 5
SACL *+
CALL _sample
MAR *-
.line 33
;>>>> kkfft();
CALL _kkfft
L117:
.line 41
;>>>> admit_pga();
CALL _admit_pga
.line 42
;>>>> for(i=0;i<10;i++)
LACK 0
MAR * ,AR2
LARK AR2,1
MAR *0+
SACL *
ZALS *
SUBK 10
BGEZ L121
MAR * ,AR1
L120:
.line 44
;>>>> sample(5);
LACK 5
SACL *+
CALL _sample
MAR *-
.line 45
;>>>> kkfft();
CALL _kkfft
.line 46
;>>>> ukr1[i]=(ik/R_caiyang)*1000.0/uk;
RPTK 1
BLKD _uk+0,*+
LALK FL35
RPTK 1
TBLR *+
RPTK 1
BLKD _R_caiyang+0,*+
RPTK 1
BLKD _ik+0,*+
CALL F$$DIV
CALL F$$MUL
CALL F$$DIV
MAR *-,AR2
LARK AR2,1
MAR *0+
LAC * ,1,AR0
ADLK _ukr1+0,0
SACL *
LAR AR3,* ,AR1
ZALH *-
ADDS * ,AR3
SACL *+
SACH *-,AR2
.line 42
LAC *
ADDK 1
SACL *
ZALS * ,AR1
SUBK 10
BLZ L120
L121:
.line 48
;>>>> PT_bd=ratio_lb(ukr1);
LALK _ukr1+0
MAR * ,AR1
SACL *+
CALL _ratio_lb
MAR *-
LDPK _PT_bd
SACL _PT_bd
SACH _PT_bd+1
.line 49
;>>>> PT_cos=cos(angle1*pii/180.0);
LALK FL32
RPTK 1
TBLR *+
LALK FL33
RPTK 1
TBLR *+
RPTK 1
BLKD _angle1+0,*+
CALL F$$MUL
CALL F$$DIV
CALL _cos
SBRK 2
LDPK _PT_cos
SACL _PT_cos
SACH _PT_cos+1
.line 50
;>>>> PT_G=PT_bd*PT_cos-0.0016;
LALK FL36
RPTK 1
TBLR *+
RPTK 1
BLKD _PT_cos+0,*+
RPTK 1
BLKD _PT_bd+0,*+
CALL F$$MUL
CALL F$$SUB
MAR *-
ZALH *-
ADDS *
LDPK _PT_G
SACL _PT_G
SACH _PT_G+1
.line 51
;>>>> PT_B=PT_bd*sin(-angle1*pii/180.0);
LALK FL32
RPTK 1
TBLR *+
RPTK 1
BLKD _angle1+0,*+
LALK FL33
RPTK 1
TBLR *+
CALL F$$MUL
CALL F$$NEG
CALL F$$DIV
CALL _sin
SBRK 2
SACL *+
SACH *+
RPTK 1
BLKD _PT_bd+0,*+
CALL F$$MUL
MAR *-
ZALH *-
ADDS *
LDPK _PT_B
SACL _PT_B
SACH _PT_B+1
.line 52
;>>>> PT_bd=sqrt(PT_G*PT_G+PT_B*PT_B);
RPTK 1
BLKD _PT_B+0,*+
RPTK 1
BLKD _PT_B+0,*+
CALL F$$MUL
RPTK 1
BLKD _PT_G+0,*+
RPTK 1
BLKD _PT_G+0,*+
CALL F$$MUL
CALL F$$ADD
CALL _sqrt
SBRK 2
LDPK _PT_bd
SACL _PT_bd
SACH _PT_bd+1
.line 53
;>>>> if(PT_mode==0) PT_VA=10.0*PT_bd;
LDPK _PT_mode
LAC _PT_mode
BNZ L122
RPTK 1
BLKD _PT_bd+0,*+
LALK FL10
RPTK 1
TBLR *+
CALL F$$MUL
MAR *-
ZALH *-
ADDS *
LDPK _PT_VA
SACL _PT_VA
SACH _PT_VA+1
B L123
L122:
.line 54
;>>>> else if(PT_mode==1) PT_VA=10.0*PT_bd/3.0;
LAC _PT_mode
SUBK 1
BNZ L124
LALK FL16
RPTK 1
TBLR *+
RPTK 1
BLKD _PT_bd+0,*+
LALK FL10
RPTK 1
TBLR *+
CALL F$$MUL
CALL F$$DIV
MAR *-
ZALH *-
ADDS *
LDPK _PT_VA
SACL _PT_VA
SACH _PT_VA+1
B L123
L124:
.line 55
;>>>> else PT_VA=10.0*PT_bd/9.0;
LALK FL37
RPTK 1
TBLR *+
RPTK 1
BLKD _PT_bd+0,*+
LALK FL10
RPTK 1
TBLR *+
CALL F$$MUL
CALL F$$DIV
MAR *-
ZALH *-
ADDS *
LDPK _PT_VA
SACL _PT_VA
SACH _PT_VA+1
L123:
.line 57
;>>>> PT_arr[4]=PT_bd;
LDPK _PT_bd
ZALS _PT_bd
ADDH _PT_bd+1
LDPK _PT_arr+8
SACL _PT_arr+8
SACH _PT_arr+9
.line 58
;>>>> PT_arr[5]=PT_cos;
LDPK _PT_cos
ZALS _PT_cos
ADDH _PT_cos+1
LDPK _PT_arr+10
SACL _PT_arr+10
SACH _PT_arr+11
.line 59
;>>>> PT_arr[6]=PT_VA;
LDPK _PT_VA
ZALS _PT_VA
ADDH _PT_VA+1
LDPK _PT_arr+12
SACL _PT_arr+12
SACH _PT_arr+13
.line 60
;>>>> init_dsp();
CALL _init_dsp
EPI0_9:
.line 61
SBRK 5
LAR AR0,*-
PSHD *
RET
.endfunc 675,000000000H,4
.sym _PT_err,_PT_err,32,2,0
.globl _PT_err
.func 678
;>>>> void PT_err(void)
******************************************************
* FUNCTION DEF : _PT_err
******************************************************
_PT_err:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 3
;>>>> PT_measure();
CALL _PT_measure
.line 4
;>>>> if(PT1_mode==0)PT1_volt=PT1_temp*1.0;
LDPK _PT1_mode
LAC _PT1_mode
BNZ L125
LALK FL4
RPTK 1
TBLR *+
LDPK _PT1_temp
ZALS _PT1_temp
ADDH _PT1_temp+1
CALL F$$LTOF
CALL F$$MUL
MAR *-
ZALH *-
ADDS *
LDPK _PT1_volt
SACL _PT1_volt
SACH _PT1_volt+1
B L126
L125:
.line 5
;>>>> else PT1_volt=PT1_temp/sqrt_3;
LALK FL38
RPTK 1
TBLR *+
LDPK _PT1_temp
ZALS _PT1_temp
ADDH _PT1_temp+1
CALL F$$LTOF
CALL F$$DIV
MAR *-
ZALH *-
ADDS *
LDPK _PT1_volt
SACL _PT1_volt
SACH _PT1_volt+1
L126:
.line 6
;>>>> if(PT_mode==0)PT2_volt=100.0;
LDPK _PT_mode
LAC _PT_mode
BNZ L127
LALK FL39
LRLK AR3,_PT2_volt+0
MAR * ,AR3
RPTK 1
TBLR *+
B L128
L127:
.line 7
;>>>> else if(PT_mode==1)PT2_volt=100.0/sqrt_3;
LAC _PT_mode
SUBK 1
BNZ L129
LALK FL40
LRLK AR3,_PT2_volt+0
MAR * ,AR3
RPTK 1
TBLR *+
B L128
L129:
.line 8
;>>>> else PT2_volt=100.0/3.0;
LALK FL41
LRLK AR3,_PT2_volt+0
MAR * ,AR3
RPTK 1
TBLR *+
L128:
.line 9
;>>>> PT_SR=PT1_volt/PT2_volt;
MAR * ,AR1
RPTK 1
BLKD _PT2_volt+0,*+
RPTK 1
BLKD _PT1_volt+0,*+
CALL F$$DIV
MAR *-
ZALH *-
ADDS *
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -