Library multi_div2_prg
Require Import machine_int.
Require Import mips_cmd.
Local Open Scope mips_cmd_scope.
Import expr_m.
Definition multi_div2 (k a i tmp prev next : reg) :=
addiu i k zero16 ;
addiu prev r0 zero16 ;
while.while (bne i r0) (
addiu i i mone16 ;
lwxs tmp i a ;
andi next tmp one16 ;
srl tmp tmp one5 ;
cmd_or tmp tmp prev ;
addiu prev next zero16 ;
sll prev prev thirtyone5 ;
sll next i two5 ;
addu next a next ;
sw tmp zero16 next).
Require Import mips_cmd.
Local Open Scope mips_cmd_scope.
Import expr_m.
Definition multi_div2 (k a i tmp prev next : reg) :=
addiu i k zero16 ;
addiu prev r0 zero16 ;
while.while (bne i r0) (
addiu i i mone16 ;
lwxs tmp i a ;
andi next tmp one16 ;
srl tmp tmp one5 ;
cmd_or tmp tmp prev ;
addiu prev next zero16 ;
sll prev prev thirtyone5 ;
sll next i two5 ;
addu next a next ;
sw tmp zero16 next).