Fix argument preparation.

First of all, we forgot `break`s in an switch-case.
Secondly, we reversed the order the arguments are pushed, so the
arguments showing up first end up lower on the stack.