TI论坛
直播中

陈蓓萤

7年用户 212经验值
私信 关注
[问答]

汇编指令下面红色的字体是什么意思?

.ref _LineGain
  .ref _VacLineRect
  .ref _VacLineScaled
  MOVW  DP,#(_LineGain)
  MOVL  XT,@_LineGain   ;Q30
  MOVW  DP,#(_VacLineRect)
  QMPYL  ACC,XT,@_VacLineRect ; Q30 * Q24 = Q22
  LSL   ACC,#2
.ref _shoulder
  MOVW DP, #(_shoulder)
  SUBL    ACC, @(_shoulder)  
  B  NO_ZERO, GEQ
  MOVB ACC,#0
NO_ZERO:
  .ref _VacLineScaled
  MOVW DP, #(_VacLineScaled)
  MOVL @(_VacLineScaled), ACC  
  .ref _MaxQ24ref
  MOVW DP, #(_MaxQ24ref)  
  MOVL ACC, @(_MaxQ24ref)   ; ACC = 0x00FFFFFF ~ 1 in Q24
  MOVW DP, #(_VacLineScaled)
  SUBL ACC, @(_VacLineScaled)
  .ref _InvVac
  MOVW DP, #(_InvVac)   
  MOVL  XAR4,#(_InvVac)   ; Net pointer to InvVac (XAR4)
  MOVL  *XAR4,ACC    ; Write to InvVac
  .ref _InvSineComp
  MOVW DP, #(_InvSineComp)
  MOVL  XAR2,#(_InvSineComp) ; Net pointer to InvSineComp (XAR2)
  .ref _CompAmpltd
  MOVW DP, #(_CompAmpltd)   
  MOVL  XT,*XAR4    ; XT = InvVac
  QMPYL  ACC,XT,@_CompAmpltd  ; ACC (Q22) = InvVac (Q24) * CompAmpltd (Q30)
  LSL  ACC,#2     ; Q24
  MOVL  *XAR2,ACC    ; Write to InvSineComp

红色的字体什么意思啊?ACC减shoulder不等于零时跳转,等于0时把0写入ACC

回帖(1)

朱虹博

2018-11-5 12:01:35
GEQ的意思是Greater Then Or Equal To
也就是说ACC大于或等于shoulder时跳转
举报

更多回帖

发帖
×
20
完善资料,
赚取积分