Pushes to stack area (multiple registers).
Pushes the values of the registers specified by the operand to the stack area.
When the pushm instruction is executed, the assembler executes instruction expansion to generate two or more machine instructions. |
When there are four or fewer registers.
pushm reg1, reg2, ..., regN |
add -4 * N, sp st.w regN, 4 * (N - 1)[sp] : st.w reg2, 4 * 1[sp] st.w reg1, 4 * 0[sp] |
When there are five or more registers.
pushm reg1, reg2, ..., regN |
addi -4 * N, sp, sp st.w regN, 4 * (N - 1)[sp] : st.w reg2, 4 * 1[sp] st.w reg1, 4 * 0[sp] |