• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.
Pheonix x
Reaction score
0

Profile posts Latest activity Postings About

  • 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? :)
    Cool, so allow me to first clear something up for you. These "lsl", "ldr" symbols you see are actually ASM instructions. They each have a function which they do depending on the registers they're given.

    I suggest you try to read simple existing ASM routines, and look up the instructions you don't know about. My second tutorial introduced commands which are commonly used in ASM code, you can look at those for reference.
  • Loading…
  • Loading…
  • Loading…
Back
Top