📄 hgq.asm
字号:
L44:
.line 67
;>>>> if(err10_arr[ii].U_CT>VA_MaxU) VA_MaxU=err10_arr[ii].U_CT;
MAR * ,AR2
LARK AR2,8
MAR *0+
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+,AR2
SBRK 8
LAC * ,2,AR0
ADLK _err10_arr+0,0
SACL *
LAR AR3,* ,AR3
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+
CALL F$$GT
BZ L45
MAR * ,AR2
LAC * ,2,AR0
ADLK _err10_arr+0,0
SACL *
LAR AR3,* ,AR3
ZALS *+
ADDH *-,AR2
ADRK 7
SACL *+
SACH *
L45:
.line 64
MAR * ,AR2
LARK AR2,1
MAR *0+
LAC *
ADDK 1
SACL *
SSXM
LDPK _VA_int
LAC _VA_int
SUBK 1
SUB *
ADRK 5
BGZ L42
L43:
.line 69
;>>>> tempI=150.0/VA_MaxI;
LARK AR2,6
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 70
;>>>> 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 71
;>>>> for(ii=0;ii<VA_int-1;ii++)
LACK 0
SBRK 12
SACL *
SSXM
LAC _VA_int
SUBK 1
SUB *
BLEZ L47
L46:
.line 73
;>>>> n_Zl[2*ii+4]=(int)(tempI*err10_arr[ii].I_CT)+7;
LAC * ,2,AR0
ADLK _err10_arr+0,0
SACL *
LAR AR3,* ,AR3
ADRK 2
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+,AR2
ADRK 9
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+
CALL F$$MUL
CALL F$$FTOI
ADDK 7
SACL *+,AR2
SBRK 10
LT * ,AR0
MPYK 2
PAC
ADLK _n_Zl+4,0
SACL *
LAR AR3,* ,AR1
MAR *-
LAC * ,AR3
SACL * ,AR2
.line 74
;>>>> n_Zl[2*ii+5]=(int)(tempU*err10_arr[ii].U_CT);
LAC * ,2,AR0
ADLK _err10_arr+0,0
SACL *
LAR AR3,* ,AR3
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+,AR2
ADRK 11
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+
CALL F$$MUL
CALL F$$FTOI
SACL *+,AR2
SBRK 12
LT * ,AR0
MPYK 2
PAC
ADLK _n_Zl+5,0
SACL *
LAR AR3,* ,AR1
MAR *-
LAC * ,AR3
SACL * ,AR2
.line 71
LAC *
ADDK 1
SACL *
SSXM
LDPK _VA_int
LAC _VA_int
SUBK 1
SUB *
BGZ L46
L47:
.line 78
;>>>> for(ii=0;ii<2*(VA_int-2);ii+=2)
LACK 0
SACL * ,AR0
LAC _VA_int
SUBK 2
SACL *
LT * ,AR2
MPYK 2
LAC *
SPAC
BGEZ L49
L48:
.line 80
;>>>> for(jj=ii+2;jj<2*(VA_int-1);jj+=2)
LAC *+
ADDK 2
SACL * ,AR0
LDPK _VA_int
LAC _VA_int
SUBK 1
SACL *
LT * ,AR2
MPYK 2
LAC *
SPAC
BGEZ L51
L50:
.line 82
;>>>> if(n_Zl[ii+4]>n_Zl[jj+4])
LAC *-,AR0
ADLK _n_Zl+4,0
SACL *
LAR AR3,* ,AR2
LAC * ,AR0
ADLK _n_Zl+4,0
SACL *
LAR AR4,* ,AR4
LAC * ,AR3
SUB *
BLEZ L52
.line 84
;>>>> tempI=n_Zl[ii+4];
MAR * ,AR2
LAC * ,AR0
ADLK _n_Zl+4,0
SACL *
LAR AR3,* ,AR3
LAC * ,AR1
CALL F$$ITOF
MAR *-
ZALH *-
ADDS * ,AR2
ADRK 9
SACL *+
SACH *
.line 85
;>>>> n_Zl[ii+4]=n_Zl[jj+4];
SBRK 9
LAC *-,AR0
ADLK _n_Zl+4,0
SACL *
LAR AR3,* ,AR2
LAC * ,AR0
ADLK _n_Zl+4,0
SACL *
LAR AR4,* ,AR3
LAC * ,AR4
SACL * ,AR2
.line 86
;>>>> n_Zl[jj+4]=tempI;
ADRK 9
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+
CALL F$$FTOI
SACL *+,AR2
SBRK 9
LAC *-,AR0
ADLK _n_Zl+4,0
SACL *
LAR AR3,* ,AR1
MAR *-
LAC * ,AR3
SACL * ,AR2
.line 88
;>>>> tempI=n_Zl[ii+5];
LAC * ,AR0
ADLK _n_Zl+5,0
SACL *
LAR AR3,* ,AR3
SSXM
LAC * ,AR1
CALL F$$ITOF
MAR *-
ZALH *-
ADDS * ,AR2
ADRK 9
SACL *+
SACH *
.line 89
;>>>> n_Zl[ii+5]=n_Zl[jj+5];
SBRK 9
LAC *-,AR0
ADLK _n_Zl+5,0
SACL *
LAR AR3,* ,AR2
LAC * ,AR0
ADLK _n_Zl+5,0
SACL *
LAR AR4,* ,AR3
LAC * ,AR4
SACL * ,AR2
.line 90
;>>>> n_Zl[jj+5]=tempI;
ADRK 9
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+
CALL F$$FTOI
SACL *+,AR2
SBRK 9
LAC * ,AR0
ADLK _n_Zl+5,0
SACL *
LAR AR3,* ,AR1
MAR *-
LAC * ,AR3
SACL *
L52:
.line 80
MAR * ,AR2
LARK AR2,2
MAR *0+
LAC *
ADDK 2
SACL * ,AR0
SSXM
LDPK _VA_int
LAC _VA_int
SUBK 1
SACL *
LT * ,AR2
MPYK 2
LAC *
SPAC
BLZ L50
L51:
.line 78
MAR *-
LAC *
ADDK 2
SACL * ,AR0
LAC _VA_int
SUBK 2
SACL *
LT * ,AR2
MPYK 2
LAC *
SPAC
BLZ L48
L49:
EPI0_3:
.line 94
MAR * ,AR1
SBRK 17
LAR AR0,*-
PSHD *
RET
.endfunc 307,000000000H,16
.sym _VA_measure,_VA_measure,32,2,0
.globl _VA_measure
.func 310
;>>>> void VA_measure(void)
;>>>> int i,j,jj;
******************************************************
* FUNCTION DEF : _VA_measure
******************************************************
_VA_measure:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,25
LAR AR0,*0+,AR2
.sym _i,1,4,1,16
.sym _j,2,4,1,16
.sym _jj,3,4,1,16
.sym _begin_flag,4,4,1,16
.sym _end_flag,5,4,1,16
.sym _U_bak,6,6,1,32
.sym _Imax_bak,8,6,1,32
.sym _PFe_bak,10,6,1,32
.sym _Iav_bak,12,6,1,32
.sym _I0e,14,6,1,32
.sym _bf_xs,16,6,1,32
.sym _bx_xs,18,6,1,32
.sym _temp,20,6,1,32
.sym _lcd_x,22,4,1,16
.sym _lcd_y,23,4,1,16
.sym _err10_flag,24,4,1,16
.line 4
;>>>> int begin_flag=0,end_flag=0;
;>>>> float U_bak,Imax_bak,PFe_bak;
;>>>> float Iav_bak,I0e;
;>>>> float bf_xs,bx_xs;
;>>>> float temp;
;>>>> int lcd_x,lcd_y;
LACK 0
LARK AR2,4
MAR *0+
SACL *+
SACL *
.line 10
;>>>> int err10_flag=1;
LACK 1
ADRK 19
SACL *
.line 11
;>>>> bx_xs=1.11072;
LALK FL12
SBRK 6
RPTK 1
TBLR *+
.line 17
;>>>> VA_int=1;
LACK 1
LDPK _VA_int
SACL _VA_int
.line 18
;>>>> VA_point=VA_arr;
LALK _VA_arr+0
SACL _VA_point
.line 19
;>>>> sample_prd=1;
LACK 1
SACL _sample_prd
.line 20
;>>>> sample_ctr(256);
MAR * ,AR1
LACK 256
SACL *+
CALL _sample_ctr
MAR *-
.line 21
;>>>> jdq_ctr(2,0x00);
LACK 0
SACL *+
LACK 2
SACL *+
CALL _jdq_ctr
SBRK 2
.line 22
;>>>> VA_jdq=0x20+0x40;
LACK 96
LDPK _VA_jdq
SACL _VA_jdq
.line 23
;>>>> VA_ctr();
;>>>> while(KeyNode.nPage==14109||KeyNode.nPage==14787||KeyNode.nPage==15430||KeyNode.nPage==16073||KeyNode.nPage==16865||KeyNode.nPage==16992||KeyNode.nPage==17635||KeyNode.nPage==18278)
CALL _VA_ctr
B L54
L53:
.line 26
;>>>> if(begin_flag==0)
LARK AR2,4
MAR *0+
LAC *
BNZ L55
.line 28
;>>>> KeyNode.nkey=0;
LACK 0
LDPK _KeyNode
SACL _KeyNode
.line 29
;>>>> begin_flag=1;
LACK 1
SACL *
L55:
.line 32
;>>>> VA_ctr1();
CALL _VA_ctr1,AR1
.line 33
;>>>> gain_ctr();
CALL _gain_ctr
.line 34
;>>>> sample(1);
LACK 1
SACL *+
CALL _sample
MAR *-
.line 36
;>>>> Usav=avg_U(pr)/ua_xs/pga_xs[0]*10.0;
LALK FL10
RPTK 1
TBLR *+
RPTK 1
BLKD _pga_xs+0,*+
RPTK 1
BLKD _ua_xs+0,*+
RSXM
LALK _pr+0
SACL *+
CALL _avg_U
MAR *-
SACL *+
SACH *+
CALL F$$DIV
CALL F$$DIV
CALL F$$MUL
MAR *-
ZALH *-
ADDS *
LDPK _Usav
SACL _Usav
SACH _Usav+1
.line 37
;>>>> Uav=av(pr)/ua_xs/pga_xs[0]*10.0;
LALK FL10
RPTK 1
TBLR *+
RPTK 1
BLKD _pga_xs+0,*+
RPTK 1
BLKD _ua_xs+0,*+
RSXM
LALK _pr+0
SACL *+
CALL _av
MAR *-
SACL *+
SACH *+
CALL F$$DIV
CALL F$$DIV
CALL F$$MUL
MAR *-
ZALH *-
ADDS *
LDPK _Uav
SACL _Uav
SACH _Uav+1
.line 38
;>>>> Iav=av(pi)/ub_xs/pga_xs[1]*20.01818;
LALK FL13
RPTK 1
TBLR *+
RPTK 1
BLKD _pga_xs+2,*+
RPTK 1
BLKD _ub_xs+0,*+
RSXM
LALK _pi+0
SACL *+
CALL _av
MAR *-
SACL *+
SACH *+
CALL F$$DIV
CALL F$$DIV
CALL F$$MUL
MAR *-
ZALH *-
ADDS *
LDPK _Iav
SACL _Iav
SACH _Iav+1
.line 39
;>>>> PFe_bak=pow_p(pr,pi)/ua_xs/pga_xs[0]/ub_xs/pga_xs[1]*20.01818;
LALK FL13
RPTK 1
TBLR *+
RPTK 1
BLKD _pga_xs+2,*+
RPTK 1
BLKD _ub_xs+0,*+
RPTK 1
BLKD _pga_xs+0,*+
RPTK 1
BLKD _ua_xs+0,*+
RSXM
LALK _pi+0
SACL *+
LALK _pr+0
SACL *+
CALL _pow_p
SBRK 2
SACL *+
SACH *+
CALL F$$DIV
CALL F$$DIV
CALL F$$DIV
CALL F$$DIV
CALL F$$MUL
MAR *-
ZALH *-
ADDS * ,AR2
LARK AR2,10
MAR *0+
SACL *+
SACH * ,AR1
.line 40
;>>>> bf_xs=Imax/1.4142/Iav;
RPTK 1
BLKD _Iav+0,*+
LALK FL14
RPTK 1
TBLR *+
RPTK 1
BLKD _Imax+0,*+
CALL F$$DIV
CALL F$$DIV
MAR *-
ZALH *-
ADDS * ,AR2
ADRK 5
SACL *+
SACH *
.line 43
;>>>> for(i=0;i<5;i++)
LACK 0
SBRK 16
SACL *
SSXM
LAC *
SUBK 5
BGEZ L57
MAR * ,AR1
L56:
.line 45
;>>>> sample(1);
LACK 1
SACL *+
CALL _sample
MAR *-
.line 46
;>>>> Imax=max_I(pi)/ub_xs/pga_xs[1]*20.01818;
LALK FL13
RPTK 1
TBLR *+
RPTK 1
BLKD _pga_xs+2,*+
RPTK 1
BLKD _ub_xs+0,*+
RSXM
LALK _pi+0
SACL *+
CALL _max_I
MAR *-
SACL *+
SACH *+
CALL F$$DIV
CALL F$$DIV
CALL F$$MUL
MAR *-
ZALH *-
ADDS * ,AR2
LDPK _Imax
SACL _Imax
SACH _Imax+1
.line 47
;>>>> fr[i]=Imax;
LARK AR2,1
MAR *0+
LAC * ,1,AR0
ADLK _fr+0,0
SACL *
LAR AR3,* ,AR3
ZALS _Imax
ADDH _Imax+1
SACL *+
SACH *-,AR2
.line 43
LAC *
ADDK 1
SACL *
SSXM
LAC * ,AR1
SUBK 5
BLZ L56
L57:
.line 50
;>>>> for(i=0;i<4;i++)
LACK 0
MAR * ,AR2
SACL *
LAC *
SUBK 4
BGEZ L59
L58:
.line 52
;>>>> for(j=i+1;j<5;j++)
LAC *+
ADDK 1
SACL *
LAC *
SUBK 5
BGEZ L61
L60:
.line 54
;>>>> if(fr[i]>fr[j])
LAC *-,1,AR0
ADLK _fr+0,0
SACL *
LAR AR3,* ,AR3
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+,AR2
LAC * ,1,AR0
ADLK _fr+0,0
SACL *
LAR AR3,* ,AR3
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+
CALL F$$GT
BZ L62
.line 56
;>>>> temp=fr[i];
MAR * ,AR2
LAC * ,1,AR0
ADLK _fr+0,0
SACL *
LAR AR3,* ,AR3
ZALS *+
ADDH *-,AR2
ADRK 19
SACL *+
SACH *
.line 57
;>>>> fr[i]=fr[j];
SBRK 19
LAC *-,1,AR0
ADLK _fr+0,0
SACL *
LAR AR3,* ,AR2
LAC *+,1,AR0
ADLK _fr+0,0
SACL *
LAR AR4,* ,AR3
ZALS *+
ADDH *-,AR4
SACL *+
SACH *-,AR2
.line 58
;>>>> fr[j]=temp;
LAC * ,1,AR0
ADLK _fr+0,0
SACL *
LAR AR3,* ,AR2
ADRK 18
ZALS *+
ADDH * ,AR3
SACL *+
SACH *-
L62:
.line 52
MAR * ,AR2
LARK AR2,2
MAR *0+
LAC *
ADDK 1
SACL *
SSXM
LAC *
SUBK 5
BLZ L60
L61:
.line 50
MAR *-
LAC *
ADDK 1
SACL *
LAC *
SUBK 4
BLZ L58
L59:
.line 62
;>>>> temp=0;
LALK FL15
ADRK 19
RPTK 1
TBLR *+
.line 63
;>>>> for(i=1;i<4;i++)
LACK 1
SBRK 21
SACL *
LAC *
SUBK 4
BGEZ L64
L63:
.line 65
;>>>> temp+=fr[i];
LAC * ,1,AR0
ADLK _fr+0,0
SACL *
LAR AR3,* ,AR3
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+,AR2
ADRK 19
LAC *+,AR1
SACL *+,AR2
LAC *-,AR1
SACL *+
CALL F$$ADD
MAR *-
ZALH *-
ADDS * ,AR2
SACL *+
SACH *
.line 63
SBRK 20
LAC *
ADDK 1
SACL *
SSXM
LAC *
SUBK 4
BLZ L63
L64:
.line 67
;>>>> Imax=temp/3.0;
MAR * ,AR1
LALK FL16
RPTK 1
TBLR *+
MAR * ,AR2
ADRK 19
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+
CALL F$$DIV
MAR *-
ZALH *-
ADDS *
LDPK _Imax
SACL _Imax
SACH _Imax+1
.line 70
;>>>> I0e=sqrt(((Imax*Imax)+2.0*(PFe_bak/bx_xs/Usav)*(PFe_bak/bx_xs/Usav))/2.0);
LALK FL17
RPTK 1
TBLR *+
RPTK 1
BLKD _Usav+0,*+
MAR * ,AR2
SBRK 3
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+,AR2
SBRK 9
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+
CALL F$$DIV
CALL F$$DIV
RPTK 1
BLKD _Usav+0,*+
MAR * ,AR2
ADRK 7
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+,AR2
SBRK 9
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+
CALL F$$DIV
CALL F$$DIV
LALK FL17
RPTK 1
TBLR *+
CALL F$$MUL
CALL F$$MUL
RPTK 1
BLKD _Imax+0,*+
RPTK 1
BLKD _Imax+0,*+
CALL F$$MUL
CALL F$$ADD
CALL F$$DIV
CALL _sqrt
SBRK 2
MAR * ,AR2
LARK AR2,14
MAR *0+
SACL *+
SACH * ,AR0
.line 71
;>>>> reg_prd=2500;
LACK 2500
SACL *
OUT * ,0fff9h
.line 72
;>>>> reg_tcr=0x0c27;
LACK 3111
SACL *
OUT * ,0fff8h
.line 73
;>>>> asm(" clrc intm");
clrc intm
.line 74
;>>>> for(jj=0;jj<0xffff;jj++)
LACK 0
MAR * ,AR2
SBRK 12
SACL *
ZALS *
RSXM
SUBK -1
BGEZ L66
MAR * ,AR1
L65:
.line 75
;>>>> SysTb(&nTbSysTime,1500);
LACK 1500
SACL *+
LALK _nTbSysTime+0
SACL *+
CALL _SysTb
SBRK 2
.line 74
MAR * ,AR2
LARK AR2,3
MAR *0+
LAC *
ADDK 1
SACL *
ZALS * ,AR1
RSXM
SUBK -1
BLZ L65
L66:
.line 76
;>>>> if(KeyNode.nkey==13&&KeyNode.nPage==14109)
LDPK _KeyNode
LAC _KeyNode
SUBK 13
BNZ L67
LDPK _KeyNode+3
LAC _KeyNode+3
SUBK 14109
BNZ L67
.line 78
;>>>> VA_point->U_CT=Usav;
LDPK _VA_point
LAR AR3,_VA_point
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -