Table of Contents

AVR GCC calling conventions

Thanks Paulo Soares psoares@consiste.pt

Register Usage

Parameters Param 1 Param 2 Param 3 Param 4
f(p8,p8) R25 R24 ~~ ~~
f(p8,p8,p8,p8) R25 R24 R23 R22
f(p16,p16) R25:24# R23:22 ~~ ~~
f(p16,p16,p16) R25:24 R23:22 R21:20 ~~
f(p32,p32) R25:24:23:22# R21:20:19:18 ~~ ~~
f(p32,p32,p32) R25:24:23:22 R21:20:19:18 R17:16:15:14 ~~
f(p8,p16,p32) R25 R24:23 R22:21:20:19 ~~

# MSB left, LSB right

Return Value

Size Registers
p8 R25:24##
p16 R25:24
p32 R25:24:23:22

## R25 is cleared