Avoid w@ and w! collision.

This commit is contained in:
Brad Nelson
2022-06-10 22:23:43 -07:00
parent 139797bdf7
commit 33f5db3209
3 changed files with 10 additions and 10 deletions

View File

@ -21,10 +21,10 @@ internals hashing definitions
: extend
80 16 DO
I 3 - w@ I 8 - w@ XOR I 14 - w@ XOR I 16 - w@ XOR 1 <<< I w!
I 3 - @w I 8 - @w XOR I 14 - @w XOR I 16 - @w XOR 1 <<< I !w
LOOP
;
: step ( n i -- ) w@ + a 5 <<< + e L+ ( to temp )
: step ( n i -- ) @w + a 5 <<< + e L+ ( to temp )
d TO e c TO d b 30 <<< TO c a TO b ( from temp ) TO a ;
: start h0 TO A h1 TO b h2 TO c h3 TO d h4 TO e ;
: chunk1 20 0 DO b c AND b INVERT d AND XOR $5A827999 + I step LOOP ;
@ -53,8 +53,8 @@ create sha1-hash sha1-size allot
msg edge >w
edge 56 >= IF chunk w 64 ERASE THEN
THEN
n 8 * 16 RSHIFT 16 RSHIFT 14 w!
n 8 * 15 w! chunk
n 8 * 16 RSHIFT 16 RSHIFT 14 !w
n 8 * 15 !w chunk
format sha1-hash sha1-size
;