]> git.cryptolib.org Git - avr-crypto-lib.git/blobdiff - sha1/sha1-asm.S
switching uart header file
[avr-crypto-lib.git] / sha1 / sha1-asm.S
index 3b88ca15ede7efa38ec1dc35777e10c2c2a99db4..69ab9624b80fe00cfe9d58b70e2328a750c977d8 100644 (file)
@@ -1,7 +1,7 @@
 /* sha1-asm.S */
 /*
     This file is part of the AVR-Crypto-Lib.
-    Copyright (C) 2008  Daniel Otte (daniel.otte@rub.de)
+    Copyright (C) 2006-2015 Daniel Otte (bg@nerilex.org)
 
     This program is free software: you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -284,20 +284,20 @@ sha1_lastBlock:
        pop r25
        subi r21, 2
        ldi r19, 64
-       sub r22, r19
-       sbc r23, r1
+       add r22, r19
+       adc r23, r1
        rjmp sha1_lastBlock
 sha1_lastBlock_prolog:
        /* allocate space on stack */
        in r30, SPL
        in r31, SPH
-       in r1, SREG
+       in r0, SREG
        subi r30, lo8(64)
        sbci r31, hi8(64) /* ??? */
        cli
        out SPL, r30
+       out SREG, r0
        out SPH, r31
-       out SREG,r1
 
        adiw r30, 1 /* SP points to next free byte on stack */
        mov r18, r20 /* r20 = LSB(length) */
@@ -421,15 +421,14 @@ sha1_lastBlock_insert_length:
 sha1_lastBlock_epilog:
        in r30, SPL
        in r31, SPH
-       in r1, SREG
+       in r0, SREG
        adiw r30, 63 ; lo8(64)
        adiw r30,  1  ; hi8(64)
        cli
        out SPL, r30
+       out SREG, r0
        out SPH, r31
-       out SREG,r1
        clr r1
-       clr r0
        ret
 
 /**/
@@ -488,8 +487,8 @@ sha1_nextBlock:
        in r0, SREG
        cli ; we want to be uninterrupted while updating SP
        out SPL, r20
-       out SPH, r21
        out SREG, r0
+       out SPH, r21
 
        push r18
        push r19 /* push old SP on new stack */
@@ -776,8 +775,8 @@ sha1_nextBlock_epilog:
        in r0, SREG
        cli ; we want to be uninterrupted while updating SP
        out SPL, r20
-       out SPH, r21
        out SREG, r0
+       out SPH, r21
 
        clr r1
        pop r29