.globl main main: MOVE.L #20, -(SP) | push parameter JSR c | call sub ADD.L #4, SP | fix pointer RTS | parameters have to be pushed onto the stack | using stack pointer SP | after the subroutine finishes, the parameters | have to be taken off the stack by incrmenting SP | +4 for each parameter (C uses always 4 bytes, even for char) | multiple parameters: push in reverse order | the function's return value is always passed in D0