OpenCores
URL https://opencores.org/ocsvn/eco32/eco32/trunk

Subversion Repositories eco32

[/] [eco32/] [tags/] [eco32-0.26/] [fp/] [implementation/] [mmix/] [permu-langdon.mms] - Diff between revs 15 and 270

Only display areas with differences | Details | Blame | View Log

Rev 15 Rev 270
* Permutation generator a la Langdon
* Permutation generator a la Langdon
N  IS   6               $n$ (2, 3, ..., 15)
N  IS   6               $n$ (2, 3, ..., 15)
t  IS   $255
t  IS   $255
k  IS   $0
k  IS   $0
kk IS   $1
kk IS   $1
c  IS   $2
c  IS   $2
d  IS   $3
d  IS   $3
a  GREG 0
a  GREG 0
ones GREG #1111111111111111&(1<<(4*N)-1)
ones GREG #1111111111111111&(1<<(4*N)-1)
     LOC  #100
     LOC  #100
     GREG @
     GREG @
ElGordo OCTA #fedcba9876543210&(1<<(4*N)-1)
ElGordo OCTA #fedcba9876543210&(1<<(4*N)-1)
Main LDOU a,ElGordo         $a\gets\.{\#...3210}$.
Main LDOU a,ElGordo         $a\gets\.{\#...3210}$.
     JMP  2F
     JMP  2F
1H   SRU  a,a,4*(16-N)
1H   SRU  a,a,4*(16-N)
     OR   a,a,t
     OR   a,a,t
2H   ADDU c,a,ones    Trace this location to see the perm!
2H   ADDU c,a,ones    Trace this location to see the perm!
     SRU  t,a,4*(N-1)
     SRU  t,a,4*(N-1)
     SLU  a,a,4*(17-N)
     SLU  a,a,4*(17-N)
     PBNZ t,1B
     PBNZ t,1B
     SET  k,1
     SET  k,1
3H   SRU  d,a,60
3H   SRU  d,a,60
     SLU  a,a,4
     SLU  a,a,4
     CMP  c,d,k
     CMP  c,d,k
     SLU  kk,k,2
     SLU  kk,k,2
     SLU  d,d,kk
     SLU  d,d,kk
     OR   t,t,d
     OR   t,t,d
     PBNZ c,1B
     PBNZ c,1B
     INCL k,1
     INCL k,1
     PBNZ a,3B
     PBNZ a,3B
     TRAP 0,Halt,0
     TRAP 0,Halt,0
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.