• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Our friends from the Johto Times are hosting a favorite Pokémon poll - and we'd love for you to participate! Click here for information on how to vote for your favorites!
  • Cyndy, May, Hero (Conquest), or Wes - which Pokémon protagonist is your favorite? Let us know by voting in our poll!
  • 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.

[ASM & Hex] ASM Error

chestertagat

Dumbest Person in the World.
  • 63
    Posts
    12
    Years
    Hello guys!, I'm currently learning Assembly (Still a beginner) and im doing the excercises in the tutorials written by , Hackmew, ShinyQuagsire and FBI.

    Spoiler:



    The error is:
    :9: Error: cannot represent THUMB_IMM relocation in this object file format
    I dont know if my code is correct ,
    The challenge is from FBI's tutorial, here it is :
    I think that once you've mastered this tutorial, you're probably well on your way to trying the intermediate ones. Before you go though, here's a nice little challenge.

    Random move buffer!:

    The scripting command "random" sets variable 0x800D to a random value between 0x0 and 0xFF. We will consider this value to be a random move ID. In the same script you will need to use the callasm command to go to your routine's address (don't forget to add 1). From there, make a routine which reads the value in variable 0x800D. Navigate the move table to the index specified by random and, copy the corresponding move name into the RAM location 0x2021D18.

    Required info:
    1) The move table starts at 0x8247094
    2) Each index in the move table contains a move name
    3) Each index in the move table is 13 bytes long (0xD in hex)
    4) Each move name is 0xFF terminated to signify the end of the name
    5) The RAM address of 0x800D is 0x20370D0

    Thanks in Advance. (Also is there a section in here where beginners can do small ASM challenges, cause i feel like you'll learn more if you put your hands on it) Thanks.
     
    Last edited:
    Code:
    mov r3, #[r0]
    This is a syntax error.

    Code:
    mov r3, r0
    This is how you set r3 to be equal to r0.
     
    Code:
    mov r3, #[r0]
    This is a syntax error.

    Code:
    mov r3, r0
    This is how you set r3 to be equal to r0.

    ok thanks. (really)
    Sir im very honored that you replied .

    But do you have any tutorial about decypting?
    aside from JPANS thread ?
    And also some more Beginner friendly ASm Challenges? and also Some more C hacking?
    (So greedy of me :D )

    Thanks sir :)
     
    Back
    Top