]> git.cryptolib.org Git - avr-crypto-lib.git/blobdiff - serpent-asm.S
forgotten files
[avr-crypto-lib.git] / serpent-asm.S
index 56c5dd038888d6d5fa05b8d5f6896d0616cb41b7..f5f7cc5acf414c55b32980850e0a4d442efbfc78 100644 (file)
@@ -1,6 +1,6 @@
 /* serpent_asm.S */
 /*
-    This file is part of the Crypto-avr-lib/microcrypt-lib.
+    This file is part of the AVR-Crypto-Lib.
     Copyright (C) 2008  Daniel Otte (daniel.otte@rub.de)
 
     This program is free software: you can redistribute it and/or modify
  */
  
 #include <avr/io.h>
-
-/*******************************************************************************
-*  MACRO SECTION                                                               *
-*******************************************************************************/
-
-.macro push_ p1:req, p2:vararg
-       push \p1
-.ifnb \p2      
-       push_ \p2
-.endif
-.endm
-
-.macro pop_ p1:req, p2:vararg
-       pop \p1
-.ifnb \p2      
-       pop_ \p2
-.endif
-.endm
-
-.macro push_range from:req, to:req
-       push \from
-.if     \to-\from
-       push_range "(\from+1)",\to
-.endif         
-.endm
-
-.macro pop_range from:req, to:req
-       pop \to
-.if     \to-\from
-       pop_range \from,"(\to-1)"       
-.endif
-.endm
-
-.macro stack_alloc size:req, reg1=r30, reg2=r31
-       in r0, _SFR_IO_ADDR(SREG)
-       cli
-       in \reg1, _SFR_IO_ADDR(SPL)
-       in \reg2, _SFR_IO_ADDR(SPH)
-       sbiw \reg1, \size 
-       out _SFR_IO_ADDR(SPH), \reg2
-       out _SFR_IO_ADDR(SPL), \reg1
-       out _SFR_IO_ADDR(SREG), r0
-.endm
-
-.macro stack_free size:req, reg1=r30, reg2=r31
-       in r0, _SFR_IO_ADDR(SREG)
-       cli
-       in \reg1, _SFR_IO_ADDR(SPL)
-       in \reg2, _SFR_IO_ADDR(SPH)
-       adiw \reg1, \size 
-       out _SFR_IO_ADDR(SPH), \reg2
-       out _SFR_IO_ADDR(SPL), \reg1
-       out _SFR_IO_ADDR(SREG), r0
-.endm
-
-/*******************************************************************************
-* END of MACRO SECTION                                                         *
-*******************************************************************************/
+#include "avr-asm-macros.S"
 
 /*
 static void serpent_lt(uint8_t *b){
@@ -763,7 +706,7 @@ serpent_dec:
        
        movw r24, r14
        ldi r22, 31
-       rcall inv_sbox128
+       call inv_sbox128
        
        movw r24, r14
        ldi r20, 16