X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=serpent-sboxes-small.S;h=028fd77e779340ea96df7ab5b9f6c58f90da52a8;hb=e5a49deb52521f019e37779d6e9d81ec4f02aba4;hp=cc9da3c6dbfbfe41529505bc68b43c29f0ccef02;hpb=c1553054f9455c2f88d6b3cb44de1cc25674a528;p=avr-crypto-lib.git diff --git a/serpent-sboxes-small.S b/serpent-sboxes-small.S index cc9da3c..028fd77 100644 --- a/serpent-sboxes-small.S +++ b/serpent-sboxes-small.S @@ -1,6 +1,6 @@ /* serpent_sboxes.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 @@ -27,64 +27,9 @@ */ #include +#include "avr-asm-macros.S" -/******************************************************************************* -* 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 * -*******************************************************************************/ serpent_sbox: .byte 0x83, 0x1F, 0x6A, 0xB5, 0xDE, 0x24, 0x07, 0xC9 .byte 0xCF, 0x72, 0x09, 0xA5, 0xB1, 0x8E, 0xD6, 0x43