The battle engine is in C, so you won't be able to help until you get much better with this ASM (sadly).
To answer your question, of the ones you've listed, these are shared:
push { list of registers}
pop { list of registers}
@ list of registers are in the form r0, r1, r2, ect. only the ones you want moved to the stack.
ldr
mov @highest immediate you can load to mov is #0xFF. You can move any register even R13, R14, R15.
add
sub
adr @ equivalent to your lda instruction, iirc
--------------
Additionally, for jumping:
beq - branch equal
bne - branch not equal
ble - branch less than or equal
bge - branch greater than or equal
bhi - branch greater than
blo - branch less than
The the common jumping ones. However, for calling, that is jumping with return there is the "bl" instruction. There are also the lsl and lsr instructions which are common. These are the bit shifting registers. I should've talked about these in my tutorial, are you sure you've read the correct one? :)
To answer your question, of the ones you've listed, these are shared:
push { list of registers}
pop { list of registers}
@ list of registers are in the form r0, r1, r2, ect. only the ones you want moved to the stack.
ldr
mov @highest immediate you can load to mov is #0xFF. You can move any register even R13, R14, R15.
add
sub
adr @ equivalent to your lda instruction, iirc
--------------
Additionally, for jumping:
beq - branch equal
bne - branch not equal
ble - branch less than or equal
bge - branch greater than or equal
bhi - branch greater than
blo - branch less than
The the common jumping ones. However, for calling, that is jumping with return there is the "bl" instruction. There are also the lsl and lsr instructions which are common. These are the bit shifting registers. I should've talked about these in my tutorial, are you sure you've read the correct one? :)