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

Subversion Repositories eco32

[/] [eco32/] [trunk/] [fp/] [implementation/] [mmix/] [crypto1.mms] - Rev 15

Compare with Previous | Blame | View Log

* Cryptanalysis Problem (CLASSIFIED) (pipelined)
a GREG
b GREG
bb GREG
c GREG
t GREG
x GREG
y GREG
       LOC Data_Segment
freq   GREG @           Base address for byte counts
       LOC @+8*(1<<8)   Space for the byte frequencies
p      GREG @
       BYTE "abracadabraa",0,"abc" Trivial test data
ones   GREG #0101010101010101
       LOC  #100
Start  LDOU a,p,0
       INCL p,8
       BDIF t,ones,a
       BNZ  t,3F        Do main loop, unless near the end.
2H     SRU  b,a,53
       LDO  c,freq,b   Load old count.
       SLU  bb,a,8
       INCL c,1
       SRU  bb,bb,53
       STO  c,freq,b   Store new count.
       LDO  c,freq,bb
       SLU  b,a,16
       INCL c,1
       SRU  b,b,53
       STO  c,freq,bb
       LDO  c,freq,b   Load old count.
       SLU  bb,a,24
       INCL c,1
       SRU  bb,bb,53
       STO  c,freq,b   Store new count.
       LDO  c,freq,bb
       SLU  b,a,32
       INCL c,1
       SRU  b,b,53
       STO  c,freq,bb
       LDO  c,freq,b   Load old count.
       SLU  bb,a,40
       INCL c,1
       SRU  bb,bb,53
       STO  c,freq,b   Store new count.
       LDO  c,freq,bb
       SLU  b,a,48
       INCL c,1
       SRU  b,b,53
       STO  c,freq,bb
       LDO  c,freq,b   Load old count.
       SLU  bb,a,56
       INCL c,1
       SRU  bb,bb,53
       STO  c,freq,b   Store new count.
       LDO  c,freq,bb
       LDOU a,p,0
       INCL p,8
       INCL c,1
       BDIF t,ones,a
       STO  c,freq,bb
       PBZ  t,2B        Do main loop, unless near the end.
3H     SRU  b,a,53
       LDO  c,freq,b   Load old count.
       INCL c,1
       STO  c,freq,b   Store new count.
       SRU  b,b,3
       SLU  a,a,8
       PBNZ b,3B        Continue unless done.
       POP

Main   IS   Start

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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