]> git.cryptolib.org Git - avr-crypto-lib.git/blobdiff - avr-asm-macros.S
twister now in ASM
[avr-crypto-lib.git] / avr-asm-macros.S
index 4991ceea0ec1a5fa39353305dafb9b52d8abcc41..698e23e11a7d5c9a3279fc6a0c12060bba683a03 100644 (file)
        out _SFR_IO_ADDR(SPL), \reg1
 .endm
 
+.macro stack_free_large2 size:req, reg1=r30, reg2=r31
+       in r0, _SFR_IO_ADDR(SREG)
+       in \reg1, _SFR_IO_ADDR(SPL)
+       in \reg2, _SFR_IO_ADDR(SPH)
+       adiw \reg1, 63
+       adiw \reg1, 63
+       adiw \reg1, (\size-63*2) 
+       cli
+       out _SFR_IO_ADDR(SPH), \reg2
+       out _SFR_IO_ADDR(SREG), r0
+       out _SFR_IO_ADDR(SPL), \reg1
+.endm
 
 
 /*******************************************************************************