]> git.cryptolib.org Git - avr-crypto-lib.git/blobdiff - sha1-asm.S
changing hmac API + bug fixes
[avr-crypto-lib.git] / sha1-asm.S
index a7a33f7b512e6397eedc96772968f9c623b041d5..f571685984c5046fd0f4280adbc9a5fe513720a8 100644 (file)
@@ -271,21 +271,24 @@ sha1_lastBlock_localSpace = (SHA1_BLOCK_BITS/8+1)
 
 
 sha1_lastBlock:
-       tst r20
-       brne sha1_lastBlock_prolog
        cpi r21, 0x02
-       brne sha1_lastBlock_prolog
+       brlo sha1_lastBlock_prolog
        push r25
        push r24
        push r23
        push r22
+       push r21
+       push r20
        rcall sha1_nextBlock
+       pop r20
+       pop r21
        pop r22
        pop r23
        pop r24
        pop r25
-       clr r21
-       clr r22
+       subi r21, 2
+       subi r23, -2
+       rjmp sha1_lastBlock
 sha1_lastBlock_prolog:
        /* allocate space on stack */
        in r30, SPL