X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;ds=sidebyside;f=avr-asm-macros.S;fp=avr-asm-macros.S;h=698e23e11a7d5c9a3279fc6a0c12060bba683a03;hb=288c82e97b3c37666b1c11475b45a956b3e5e8e0;hp=4991ceea0ec1a5fa39353305dafb9b52d8abcc41;hpb=0076b72ccd398bf7571c5144ba36eda8a24f6c70;p=avr-crypto-lib.git diff --git a/avr-asm-macros.S b/avr-asm-macros.S index 4991cee..698e23e 100644 --- a/avr-asm-macros.S +++ b/avr-asm-macros.S @@ -107,6 +107,18 @@ 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 /*******************************************************************************