vmacu_clamp.in 4.62 KB
prog_name  vmacu_clamp
;;;;;;;;;;;;;;;;;;;
;;
reg_assign vS         $v0
reg_assign vT         $v1
reg_assign vD         $v2
reg_assign vDexp      $v3
reg_assign vTemp      $v4
reg_assign vAccL      $v5
reg_assign vAccM      $v6
reg_assign vAccH      $v7
reg_assign vAccLexp   $v8
reg_assign vAccMexp   $v9
reg_assign vAccHexp   $v10
reg_assign v4000      $v11
reg_assign v0001      $v12
;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Normal
start
op      vmacu
element vector

vS    0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
vT    0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000

vAccL 0x0000 0x0000 0x7fff 0x0000 0x1234 0x89ab 0xfeed 0x3456
vAccM 0x0000 0x4123 0x7ffe 0x8123 0xffff 0x5432 0x6789 0xabcd
vAccH 0x0000 0x0000 0x0000 0xffff 0xffff 0x0000 0x0000 0xffff

end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; overflow
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op      vmacu
element vector

vS    0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
vT    0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000

vAccL 0x1111 0x2222 0x3333 0x4444 0x5555 0x6666 0x7777 0x8888
vAccM 0x8123 0x5678 0x2345 0x3456 0x4567 0x5678 0x6789 0x789a
vAccH 0x0000 0x0001 0x0002 0x0004 0x0008 0x0010 0x0020 0x0040

end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op      vmacu
element vector

vS    0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
vT    0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000

vAccL 0x9999 0xaaaa 0xbbbb 0xcccc 0xdddd 0xeeee 0xffff 0xeeee
vAccM 0x1357 0x2468 0x3579 0x468a 0x579b 0x68ac 0x79bd 0x0246
vAccH 0x0080 0x0100 0x0200 0x0400 0x0800 0x1000 0x2000 0x4000

end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op      vmacu
element vector

vS    0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
vT    0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000

vAccL 0x1234 0x4321 0x5678 0x8765 0xabcd 0xdcba 0xef01 0x10fe
vAccM 0x8001 0x8002 0x8003 0x8004 0x8005 0x8006 0x8007 0x8008
vAccH 0x3fff 0x6fff 0x77ff 0x7bff 0x7dff 0x7eff 0x7f7f 0x7fbf

end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op      vmacu
element vector

vS    0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
vT    0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000

vAccL 0x1111 0x2222 0x3333 0x4444 0x5555 0x6666 0x7777 0x8888
vAccM 0x8090 0x80a0 0x80b0 0x80c0 0x80d0 0x80e0 0x00f0 0x8100
vAccH 0x7fdf 0x7fef 0x7ff7 0x7ffb 0x7ffd 0x7ffe 0x7fff 0x4000

end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; underflow
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op      vmacu
element vector

vS    0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
vT    0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000

vAccL 0x9999 0xaaaa 0xbbbb 0xcccc 0xdddd 0xeeee 0xffff 0xeeee
vAccM 0x8123 0x1234 0x2345 0x3456 0x4567 0x5678 0x6789 0x789a
vAccH 0x8000 0x8001 0x8002 0x8004 0x8008 0x8010 0x8020 0x8040

end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op      vmacu
element vector

vS    0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
vT    0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000

vAccL 0x1234 0x4321 0x5678 0x8765 0xabcd 0xdcba 0xef01 0x10fe
vAccM 0x0102 0x2030 0x0304 0x4050 0x0506 0x6070 0x0708 0x7080
vAccH 0x8080 0x8100 0x8200 0x8400 0x8800 0x9000 0xa000 0xc000

end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op      vmacu
element vector

vS    0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
vT    0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000

vAccL 0x1234 0x4321 0x5678 0x8765 0xabcd 0xdcba 0xef01 0x10fe
vAccM 0x0123 0x8234 0x8345 0x8456 0x8567 0x8678 0x8789 0x889a
vAccH 0xffff 0xfffe 0xfffd 0xfffb 0xfff7 0xffef 0xffdf 0xffbf

end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op      vmacu
element vector

vS    0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
vT    0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000

vAccL 0x8111 0x8222 0x8333 0x8444 0x8555 0x8666 0x8777 0x8888
vAccM 0x8111 0x8222 0x8333 0x8444 0x8555 0x8666 0x8777 0x8888
vAccH 0xff7f 0xfeff 0xfdff 0xfbff 0xf7ff 0xefff 0xdfff 0xbfff

end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start
op      vmacu
element vector

vS    0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
vT    0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000

vAccL 0x8000 0x8888 0xaaaa 0x9999 0xeeee 0xbbbb 0xcccc 0xdddd
vAccM 0x7fff 0x8abc 0x1040 0x89ab 0x7654 0x0000 0x0000 0x0000
vAccH 0x8000 0x8888 0xaaaa 0x9999 0xeeee 0xbbbb 0xcccc 0xdddd

end
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;