X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=sha1-asm.S;h=f571685984c5046fd0f4280adbc9a5fe513720a8;hb=53f8a8d7ca5c03120224128e1f8552c99f6af11e;hp=577d9e812f9896be6d54fe06083b531b7d3208c2;hpb=74fe0d1999c8dee4babb971174648da906886874;p=avr-crypto-lib.git diff --git a/sha1-asm.S b/sha1-asm.S index 577d9e8..f571685 100644 --- a/sha1-asm.S +++ b/sha1-asm.S @@ -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 @@ -732,7 +735,7 @@ sha1_nextBlock_update_a: inc LoopC cpi LoopC, 80 brge 1f - jmp sha1_nextBlock_mainloop + rjmp sha1_nextBlock_mainloop /**************************************/ 1: /* littel patch */