📄 hgq.asm
字号:
MAR * ,AR2
LARK AR2,6
MAR *0+
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+,AR2
SBRK 6
LAC * ,2,AR0
ADLK _VA_arr+0,0
SACL *
LAR AR3,* ,AR3
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+
CALL F$$GT
BZ L17
MAR * ,AR2
LAC * ,2,AR0
ADLK _VA_arr+0,0
SACL *
LAR AR3,* ,AR3
ZALS *+
ADDH *-,AR2
ADRK 5
SACL *+
SACH *
L17:
.line 33
MAR * ,AR2
LARK AR2,1
MAR *0+
LAC *
ADDK 1
SACL *
SSXM
LAC *
LDPK _VA_int
SUB _VA_int
ADRK 3
BLZ L14
L15:
.line 38
;>>>> tempI=150.0/VA_MaxI;
LARK AR2,4
MAR *0+
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+
LALK FL1
RPTK 1
TBLR *+
CALL F$$DIV
MAR *-
ZALH *-
ADDS * ,AR2
ADRK 3
SACL *+
SACH *
.line 39
;>>>> tempU=120.0/VA_MaxU;
SBRK 3
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+
LALK FL2
RPTK 1
TBLR *+
CALL F$$DIV
MAR *-
ZALH *-
ADDS * ,AR2
ADRK 3
SACL *+
SACH *
.line 41
;>>>> for(ii=0;ii<VA_int;ii++)
LACK 0
SBRK 10
SACL *
SSXM
LAC *
SUB _VA_int
BGEZ L19
L18:
.line 43
;>>>> VA_wave[2*ii+6]=(int)(tempI*VA_arr[ii].I_CT)+7;
LAC * ,2,AR0
ADLK _VA_arr+0,0
SACL *
LAR AR3,* ,AR3
ADRK 2
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+,AR2
ADRK 7
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+
CALL F$$MUL
CALL F$$FTOI
ADDK 7
SACL *+,AR2
SBRK 8
LT * ,AR0
MPYK 2
PAC
ADLK _VA_wave+6,0
SACL *
LAR AR3,* ,AR1
MAR *-
LAC * ,AR3
SACL * ,AR2
.line 44
;>>>> VA_wave[2*ii+7]=(int)(tempU*VA_arr[ii].U_CT);
LAC * ,2,AR0
ADLK _VA_arr+0,0
SACL *
LAR AR3,* ,AR3
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+,AR2
ADRK 9
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+
CALL F$$MUL
CALL F$$FTOI
SACL *+,AR2
SBRK 10
LT * ,AR0
MPYK 2
PAC
ADLK _VA_wave+7,0
SACL *
LAR AR3,* ,AR1
MAR *-
LAC * ,AR3
SACL * ,AR2
.line 41
LAC *
ADDK 1
SACL *
SSXM
LAC *
LDPK _VA_int
SUB _VA_int
BLZ L18
L19:
.line 48
;>>>> for(ii=0;ii<2*(VA_int-1);ii+=2)
LACK 0
SACL * ,AR0
LAC _VA_int
SUBK 1
SACL *
LT * ,AR2
MPYK 2
LAC *
SPAC
BGEZ L21
L20:
.line 50
;>>>> for(jj=ii+2;jj<2*VA_int;jj+=2)
LAC *+
ADDK 2
SACL *
LDPK _VA_int
LT _VA_int
MPYK 2
LAC *
SPAC
BGEZ L23
L22:
.line 52
;>>>> if(VA_wave[ii+6]>VA_wave[jj+6])
LAC *-,AR0
ADLK _VA_wave+6,0
SACL *
LAR AR3,* ,AR2
LAC * ,AR0
ADLK _VA_wave+6,0
SACL *
LAR AR4,* ,AR4
LAC * ,AR3
SUB *
BLEZ L24
.line 54
;>>>> tempI=VA_wave[ii+6];
MAR * ,AR2
LAC * ,AR0
ADLK _VA_wave+6,0
SACL *
LAR AR3,* ,AR3
LAC * ,AR1
CALL F$$ITOF
MAR *-
ZALH *-
ADDS * ,AR2
ADRK 7
SACL *+
SACH *
.line 55
;>>>> VA_wave[ii+6]=VA_wave[jj+6];
SBRK 7
LAC *-,AR0
ADLK _VA_wave+6,0
SACL *
LAR AR3,* ,AR2
LAC * ,AR0
ADLK _VA_wave+6,0
SACL *
LAR AR4,* ,AR3
LAC * ,AR4
SACL * ,AR2
.line 56
;>>>> VA_wave[jj+6]=tempI;
ADRK 7
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+
CALL F$$FTOI
SACL *+,AR2
SBRK 7
LAC *-,AR0
ADLK _VA_wave+6,0
SACL *
LAR AR3,* ,AR1
MAR *-
LAC * ,AR3
SACL * ,AR2
.line 58
;>>>> tempI=VA_wave[ii+7];
LAC * ,AR0
ADLK _VA_wave+7,0
SACL *
LAR AR3,* ,AR3
SSXM
LAC * ,AR1
CALL F$$ITOF
MAR *-
ZALH *-
ADDS * ,AR2
ADRK 7
SACL *+
SACH *
.line 59
;>>>> VA_wave[ii+7]=VA_wave[jj+7];
SBRK 7
LAC *-,AR0
ADLK _VA_wave+7,0
SACL *
LAR AR3,* ,AR2
LAC * ,AR0
ADLK _VA_wave+7,0
SACL *
LAR AR4,* ,AR3
LAC * ,AR4
SACL * ,AR2
.line 60
;>>>> VA_wave[jj+7]=tempI;
ADRK 7
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+
CALL F$$FTOI
SACL *+,AR2
SBRK 7
LAC * ,AR0
ADLK _VA_wave+7,0
SACL *
LAR AR3,* ,AR1
MAR *-
LAC * ,AR3
SACL *
L24:
.line 50
MAR * ,AR2
LARK AR2,2
MAR *0+
LAC *
ADDK 2
SACL *
LDPK _VA_int
LT _VA_int
MPYK 2
SSXM
LAC *
SPAC
BLZ L22
L23:
.line 48
MAR *-
LAC *
ADDK 2
SACL * ,AR0
LAC _VA_int
SUBK 1
SACL *
LT * ,AR2
MPYK 2
LAC *
SPAC
BLZ L20
L21:
EPI0_2:
.line 64
MAR * ,AR1
SBRK 13
LAR AR0,*-
PSHD *
RET
.endfunc 212,000000000H,12
.sym _VA_10err,_VA_10err,32,2,0
.globl _VA_10err
.func 214
;>>>> void VA_10err(void)
;>>>> int ii,jj,arr_no;
;>>>> float I2e;
;>>>> float VA_MaxI,VA_MaxU;
;>>>> float tempI,tempU;
;>>>> float aaa;
******************************************************
* FUNCTION DEF : _VA_10err
******************************************************
_VA_10err:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,16
LAR AR0,*0+
.sym _ii,1,4,1,16
.sym _jj,2,4,1,16
.sym _arr_no,3,4,1,16
.sym _I2e,4,6,1,32
.sym _VA_MaxI,6,6,1,32
.sym _VA_MaxU,8,6,1,32
.sym _tempI,10,6,1,32
.sym _tempU,12,6,1,32
.sym _aaa,14,6,1,32
.line 9
;>>>> if(CT2_mode==0)
LDPK _CT2_mode
LAC _CT2_mode
BNZ L25
.line 11
;>>>> I2e=5.0;
;>>>> else
LALK FL3
MAR * ,AR2
LARK AR2,4
MAR *0+
RPTK 1
TBLR *+
B L26
L25:
.line 15
;>>>> I2e=1.0;
LALK FL4
MAR * ,AR2
LARK AR2,4
MAR *0+
RPTK 1
TBLR *+
L26:
.line 17
;>>>> err10_Zl=BH_SVA/(I2e*I2e);
SBRK 2
LAC *+,AR1
SACL *+,AR2
LAC *-,AR1
SACL *+,AR2
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+
CALL F$$MUL
RPTK 1
BLKD _BH_SVA+0,*+
CALL F$$DIV
MAR *-
ZALH *-
ADDS *
LDPK _err10_Zl
SACL _err10_Zl
SACH _err10_Zl+1
.line 18
;>>>> n_Zl[0]=100;
LACK 100
LDPK _n_Zl
SACL _n_Zl
.line 19
;>>>> n_Zl[1]=100;
SACL _n_Zl+1
.line 20
;>>>> n_Zl[2]=VA_int-1;
LDPK _VA_int
LAC _VA_int
SUBK 1
LDPK _n_Zl+2
SACL _n_Zl+2
.line 21
;>>>> n_Zl[3]=0;
LACK 0
SACL _n_Zl+3
.line 23
;>>>> if(err_no==0)
LDPK _err_no
LAC _err_no
BNZ L27
.line 25
;>>>> for(ii=0;ii<VA_int-1;ii++)
LACK 0
MAR * ,AR2
SBRK 4
SACL *
SSXM
LAC _VA_int
SUBK 1
SUB *
BLEZ L30
MAR * ,AR1
L28:
.line 27
;>>>> err10_arr[ii].I_CT=0.05263*VA_arr[ii].U_CT/VA_arr[ii].I_CT-1.05263*Z2;
RPTK 1
BLKD _Z2+0,*+
LALK FL5
RPTK 1
TBLR *+
CALL F$$MUL
MAR * ,AR2
LAC * ,2,AR0
ADLK _VA_arr+0,0
SACL *
LAR AR3,* ,AR3
ADRK 2
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+,AR2
LAC * ,2,AR0
ADLK _VA_arr+0,0
SACL *
LAR AR3,* ,AR3
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+
LALK FL6
RPTK 1
TBLR *+
CALL F$$MUL
CALL F$$DIV
CALL F$$SUB
MAR *-,AR2
LAC * ,2,AR0
ADLK _err10_arr+0,0
SACL *
LAR AR3,* ,AR1
ZALH *-
ADDS * ,AR3
ADRK 2
SACL *+
SACH *-,AR2
.line 28
;>>>> err10_arr[ii].U_CT=20.0*VA_arr[ii].I_CT/I2e;
ADRK 3
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+,AR2
SBRK 4
LAC * ,2,AR0
ADLK _VA_arr+0,0
SACL *
LAR AR3,* ,AR3
ADRK 2
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+
LALK FL7
RPTK 1
TBLR *+
CALL F$$MUL
CALL F$$DIV
MAR *-,AR2
LAC * ,2,AR0
ADLK _err10_arr+0,0
SACL *
LAR AR3,* ,AR1
ZALH *-
ADDS * ,AR3
SACL *+
SACH *-,AR2
.line 25
LAC *
ADDK 1
SACL *
SSXM
LDPK _VA_int
LAC _VA_int
SUBK 1
SUB * ,AR1
BGZ L28
B L30
L27:
.line 31
;>>>> else if(err_no==1)
LAC _err_no
SUBK 1
BNZ L30
.line 33
;>>>> for(ii=0;ii<VA_int-1;ii++)
LACK 0
MAR * ,AR2
SBRK 4
SACL *
SSXM
LAC _VA_int
SUBK 1
SUB *
BLEZ L30
MAR * ,AR1
L32:
.line 35
;>>>> err10_arr[ii].I_CT=0.11*VA_arr[ii].U_CT/VA_arr[ii].I_CT-1.1*Z2;
RPTK 1
BLKD _Z2+0,*+
LALK FL8
RPTK 1
TBLR *+
CALL F$$MUL
MAR * ,AR2
LAC * ,2,AR0
ADLK _VA_arr+0,0
SACL *
LAR AR3,* ,AR3
ADRK 2
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+,AR2
LAC * ,2,AR0
ADLK _VA_arr+0,0
SACL *
LAR AR3,* ,AR3
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+
LALK FL9
RPTK 1
TBLR *+
CALL F$$MUL
CALL F$$DIV
CALL F$$SUB
MAR *-,AR2
LAC * ,2,AR0
ADLK _err10_arr+0,0
SACL *
LAR AR3,* ,AR1
ZALH *-
ADDS * ,AR3
ADRK 2
SACL *+
SACH *-,AR2
.line 36
;>>>> err10_arr[ii].U_CT=10.0*VA_arr[ii].I_CT/I2e;
ADRK 3
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+,AR2
SBRK 4
LAC * ,2,AR0
ADLK _VA_arr+0,0
SACL *
LAR AR3,* ,AR3
ADRK 2
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+
LALK FL10
RPTK 1
TBLR *+
CALL F$$MUL
CALL F$$DIV
MAR *-,AR2
LAC * ,2,AR0
ADLK _err10_arr+0,0
SACL *
LAR AR3,* ,AR1
ZALH *-
ADDS * ,AR3
SACL *+
SACH *-,AR2
.line 33
LAC *
ADDK 1
SACL *
SSXM
LDPK _VA_int
LAC _VA_int
SUBK 1
SUB * ,AR1
BGZ L32
L30:
.line 40
;>>>> aaa=20.0;
LALK FL7
MAR * ,AR2
LARK AR2,14
MAR *0+
RPTK 1
TBLR *+
.line 41
;>>>> for(ii=0;ii<VA_int-1;ii++)
LACK 0
SBRK 15
SACL *
SSXM
LAC _VA_int
SUBK 1
SUB *
BLEZ L35
ADRK 13
L34:
.line 43
;>>>> if(fabs(err10_arr[ii].U_CT-err10_n)<aaa)
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+
LDPK _err10_n
LAC _err10_n
CALL F$$ITOF
MAR * ,AR2
SBRK 14
LAC * ,2,AR0
ADLK _err10_arr+0,0
SACL *
LAR AR3,* ,AR3
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+
CALL F$$SUB
CALL _fabs
SBRK 2
SACL *+
SACH *+
CALL F$$LT
BZ L36
.line 45
;>>>> aaa=fabs(err10_arr[ii].U_CT-err10_n);
SSXM
LDPK _err10_n
LAC _err10_n
CALL F$$ITOF
MAR * ,AR2
LARK AR2,1
MAR *0+
LAC * ,2,AR0
ADLK _err10_arr+0,0
SACL *
LAR AR3,* ,AR3
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+
CALL F$$SUB
CALL _fabs
SBRK 2
MAR * ,AR2
LARK AR2,14
MAR *0+
SACL *+
SACH *
.line 46
;>>>> arr_no=ii;
SBRK 14
LAC *
ADRK 2
SACL *
L36:
.line 41
MAR * ,AR2
LARK AR2,1
MAR *0+
LAC *
ADDK 1
SACL *
SSXM
LDPK _VA_int
LAC _VA_int
SUBK 1
SUB *
ADRK 13
BGZ L34
L35:
.line 49
;>>>> if((aaa/err10_n)<0.1) n_Zl2[1]=err10_arr[arr_no].I_CT;
MAR * ,AR1
LALK FL11
RPTK 1
TBLR *+
LAC _err10_n
CALL F$$ITOF
MAR * ,AR2
LARK AR2,14
MAR *0+
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+
CALL F$$DIV
CALL F$$LT
BZ L37
MAR * ,AR2
SBRK 12
LAC * ,2,AR0
ADLK _err10_arr+0,0
SACL *
LAR AR3,* ,AR3
ADRK 2
ZALS *+
ADDH *-
SACL _n_Zl2+2
SACH _n_Zl2+3
L37:
.line 51
;>>>> aaa=20.0;
LALK FL7
MAR * ,AR2
LARK AR2,14
MAR *0+
RPTK 1
TBLR *+
.line 52
;>>>> for(ii=0;ii<VA_int-1;ii++)
LACK 0
SBRK 15
SACL *
SSXM
LAC _VA_int
SUBK 1
SUB *
BLEZ L39
ADRK 13
L38:
.line 54
;>>>> if(fabs(err10_arr[ii].I_CT-err10_Zl)<aaa)
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+
RPTK 1
BLKD _err10_Zl+0,*+
MAR * ,AR2
SBRK 14
LAC * ,2,AR0
ADLK _err10_arr+0,0
SACL *
LAR AR3,* ,AR3
ADRK 2
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+
CALL F$$SUB
CALL _fabs
SBRK 2
SACL *+
SACH *+
CALL F$$LT
BZ L40
.line 56
;>>>> aaa=fabs(err10_arr[ii].I_CT-err10_Zl);
RPTK 1
BLKD _err10_Zl+0,*+
MAR * ,AR2
LARK AR2,1
MAR *0+
LAC * ,2,AR0
ADLK _err10_arr+0,0
SACL *
LAR AR3,* ,AR3
ADRK 2
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+
CALL F$$SUB
CALL _fabs
SBRK 2
MAR * ,AR2
LARK AR2,14
MAR *0+
SACL *+
SACH *
.line 57
;>>>> arr_no=ii;
SBRK 14
LAC *
ADRK 2
SACL *
L40:
.line 52
MAR * ,AR2
LARK AR2,1
MAR *0+
LAC *
ADDK 1
SACL *
SSXM
LDPK _VA_int
LAC _VA_int
SUBK 1
SUB *
ADRK 13
BGZ L38
L39:
.line 60
;>>>> if(aaa<0.1) n_Zl2[0]=err10_arr[arr_no].U_CT;
MAR * ,AR1
LALK FL11
RPTK 1
TBLR *+
MAR * ,AR2
LARK AR2,14
MAR *0+
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+
CALL F$$LT
BZ L41
MAR * ,AR2
SBRK 12
LAC * ,2,AR0
ADLK _err10_arr+0,0
SACL *
LAR AR3,* ,AR3
ZALS *+
ADDH *-
SACL _n_Zl2
SACH _n_Zl2+1
L41:
.line 62
;>>>> VA_MaxI=err10_arr[0].I_CT;
LRLK AR3,_err10_arr+2
MAR * ,AR3
ZALS *+
ADDH *-,AR2
LARK AR2,6
MAR *0+
SACL *+
SACH * ,AR3
.line 63
;>>>> VA_MaxU=err10_arr[0].U_CT;
SBRK 2
ZALS *+
ADDH *-,AR2
MAR *+
SACL *+
SACH *
.line 64
;>>>> for(ii=0;ii<VA_int-1;ii++)
LACK 0
SBRK 8
SACL *
SSXM
LAC _VA_int
SUBK 1
SUB *
BLEZ L43
ADRK 5
L42:
.line 66
;>>>> if(err10_arr[ii].I_CT>VA_MaxI) VA_MaxI=err10_arr[ii].I_CT;
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+,AR2
SBRK 6
LAC * ,2,AR0
ADLK _err10_arr+0,0
SACL *
LAR AR3,* ,AR3
ADRK 2
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+
CALL F$$GT
BZ L44
MAR * ,AR2
LAC * ,2,AR0
ADLK _err10_arr+0,0
SACL *
LAR AR3,* ,AR3
ADRK 2
ZALS *+
ADDH *-,AR2
ADRK 5
SACL *+
SACH *
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -