📄 predictor_zero.s
字号:
;*********************************************
;* UESTC.
;* (c) Copyright 2006 UESTC.
;* ALL RIGHTS RESERVED.
;* Author: Shuifen Li
;* Date: 2006.7
;*********************************************
;*********************************************
;* FILE NAME: predictor_zero.s
;*********************************************
.global _predictor_zero
.text
_predictor_zero:
;---=Saving values of used registers and clearing the data registers=---
lea -56(a7), a7
movem.l d1-d7/a0-a6,(a7)
;---=loading useful parameters from stack=---
move.l 60(a7), a0 //a0--state_ptr
;---= begin main function =--
move.l acc,d0
move.l #0,acc
move.l #0,macsr
move.l #0,d4
move.l #11,d3
move.l a0,a1
add.l #60,a0
add.l #28,a1 //a1--b
move.w (a0)+,d0 //dq[0]
ext.l d0
move.l (a1)+,d1
asr.l #2,d1
mac.l d1,d0,acc
move.l acc,d2
move.l #0,acc
asr.l d3,d2
move.l d2,d4
move.w (a0)+,d0 //dq[1]
ext.l d0
move.l (a1)+,d1
asr.l #2,d1
mac.l d1,d0,acc
move.l acc,d2
move.l #0,acc
asr.l d3,d2
add.l d2,d4
move.w (a0)+,d0 //dq[2]
ext.l d0
move.l (a1)+,d1
asr.l #2,d1
mac.l d1,d0,acc
move.l acc,d2
move.l #0,acc
asr.l d3,d2
add.l d2,d4
move.w (a0)+,d0 //dq[3]
ext.l d0
move.l (a1)+,d1
asr.l #2,d1
mac.l d1,d0,acc
move.l acc,d2
move.l #0,acc
asr.l d3,d2
add.l d2,d4
move.w (a0)+,d0 //dq[4]
ext.l d0
move.l (a1)+,d1
asr.l #2,d1
mac.l d1,d0,acc
move.l acc,d2
move.l #0,acc
asr.l d3,d2
add.l d2,d4
move.w (a0)+,d0 //dq[5]
ext.l d0
move.l (a1)+,d1
asr.l #2,d1
mac.l d1,d0,acc
move.l acc,d2
move.l #0,acc
asr.l d3,d2
add.l d2,d4
move.l d4,d0
/* int i;
int sezi;
sezi = (state_ptr->b[0] >> 2) * state_ptr->dq[0] >>11;
for (i = 1; i < 6; i++)
{
sezi += (state_ptr->b[i] >> 2) * state_ptr->dq[i] >>11;
}
return (sezi);
}*/
;---= Push the Stack =---
movem.l (a7), d1-d7/a0-a6
lea 56(a7), a7
rts
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -