• 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.

[ASM & Hex] ASM Error

82
Posts
6
Years
Hello, i am receiving an error when compiling a file.

This is a ASM for certain move effects. It covers Surf, Boomburst, Petal Blizzard, parabolic Charge, Discharge, Sludge Wave, Lava Plume, Bulldoze and can be found in the move resource page.

The error i am receiving is "Error: Attempt to move .org backwards" on line 396, 400, 404 and 408. PC doesnt show lines so CTRL+F and search for
".org WaterVoltAbsorbEnd
.word AbsorbRebrancher"

^^^ Thats the first one, the next 3 sets of ".org .word" are the problems. They all link to that .word adbsorbrebrancher. You can find the rebrancher label down at the bottom just above the actual routine. Its just putting a couple bytes and words together? I even manually changed the bytes and words to their corresponding numbers with little luck. Whats the deal?

Here is the file:
Code:
.thumb
.thumb_func
.global multitargetmoves

.equ Myloc, 0x7A7710   @Location of non hooking resource area (Main routines plus Battle Scripts and Strings).
.equ YourWordLocation, 0x203C020  @RAM Area used for Battle String Loader Hack
.equ MoveEffectTable, 0x247094
.equ MoveTable, 0x8799F24

@@ Move IDs 
.equ BoomburstID, 0x182
.equ PetalBlizzardID, 0x17C
@.equ ParaChargeID, 0x23A
.equ SurfID, 0x39
.equ LavaPlumeID, 0x1B4
.equ BulldozeID, 0x169
.equ DischargeID, 0x1B3
.equ SludgeWaveID, 0x1E3
@.equ SearingShotID, 0x221

@@Move Effect Script Pointers to be Replaced.
@@ Change these if you have changed the script pointers, for example if have used something like Flame Charge with LowFoeSpeedBS
.equ StdSingleTgtDmgBS, 0x81D6926  @Effect 0
.equ StdSingleTgtDmgPrlzBS, 0x81d6A6B@Effect 6
.equ StdSingleTgtDmgBrnBS, 0x81D6A55@Effect 4
.equ StdSingleTgtDmgPsnBS, 0x81D69DC@Effect 2
.equ StdSingleTgtDmgLowFoeSpeedBS, 0x81D7275@Effect 70
.equ StdSingleTgtDmgDrainBS, 0x81D69E7@Effect 3

@@ Ram Locations
.equ CurrMove, 0x2023D4A
.equ HitMarker, 0x2023DD0
.equ DamageMultiplier, 0x02023FD2
.equ ScriptPointer, 0x2023D74
.equ Cmd49TableCounter, 0x2023FD8
.equ AppliedEffectByte, 0x2023E85


@@Keywords
.equ CancelerCheckSkip, 0x200
.equ ObedienceCheckSkip, 0x2000000
.equ DivingState, 0x40000
.equ OverrideDiveEvasion, 0x40000
.equ BurnEffect, 0x3
.equ ParalysisEffect, 0x5
.equ PoisonEffect, 0x2
.equ LowFoeSpeedEffect, 0x18

@@ Compare operands
.equ Equals, 0x0
.equ NotEquals, 0x1
.equ LessThan, 0x2
.equ GreaterThan, 0x3
.equ Anded, 0x4

@@ Banks
.equ BANK_USER, 0x1
.equ BANK_TARGET, 0x0

@@ Delay
.equ DELAY_HALFSECOND, 0x20
.equ DELAY_1SECOND, 0x40

@@ Index commands
.equ calculatedamage, 0x7060504
.equ attackcanceler, 0x0
.equ accuracycheck, 0x1
.equ attackstring, 0x2
.equ ppreduce, 0x3
.equ critcalc, 0x4
.equ cmd5, 0x5
.equ cmd6, 0x6
.equ cmd7, 0x7
.equ cmd8, 0x8
.equ attackanimation, 0x9
.equ waitanimation, 0xA
.equ graphicalhpupdate, 0xB
.equ datahpupdate, 0xC
.equ critmessage, 0xD
.equ missmessage, 0xE
.equ resultmessage, 0xF
.equ printstring, 0x10
.equ printstring2, 0x11
.equ waitmessage, 0x12
.equ printfromtable, 0x13
.equ printfromtable2, 0x14
.equ seteffectwithchancetarget, 0x15
.equ seteffecttarget, 0x16
.equ seteffectuser, 0x17
.equ clearstatus, 0x18
.equ faintpokemon, 0x19
.equ cmd1a, 0x1A
.equ cmd1b, 0x1B
.equ jumpifstatus, 0x1C
.equ jumpifsecondarystatus, 0x1D
.equ jumpifability, 0x1E
.equ jumpifhalverset, 0x1F
.equ jumpifstat, 0x20
.equ jumpifspecialstatusflag, 0x21
.equ jumpiftype, 0x22
.equ cmd23, 0x23
.equ gotoandsomething, 0x24
.equ cmd25, 0x25
.equ cmd26, 0x26
.equ cmd27, 0x27
.equ goto, 0x28
.equ jumpifbyte, 0x29
.equ jumpifhalfword, 0x2A
.equ jumpifword, 0x2B
.equ jumpifarrayequal, 0x2C
.equ jumpifarraynotequal, 0x2D
.equ setbyte, 0x2E
.equ addbyte, 0x2F
.equ subtractbyte, 0x30
.equ copyarray, 0x31
.equ cmd32, 0x32
.equ orbyte, 0x33
.equ orhalfword, 0x34
.equ orword, 0x35
.equ bicbyte, 0x36
.equ bichalfword, 0x37
.equ bicword, 0x38
.equ pause, 0x39
.equ waitstate, 0x3A
.equ somethinghealcmd3b, 0x3B
.equ return, 0x3C
.equ end, 0x3D
.equ end2, 0x3E
.equ end3, 0x3F
.equ cmd40, 0x40
.equ call, 0x41
.equ jumpiftype2, 0x42
.equ jumpifabilitypresent, 0x43
.equ cmd44, 0x44
.equ playanimation, 0x45
.equ cmd46, 0x46
.equ cmd47, 0x47
.equ playstatchangeanimation, 0x48
.equ cmd49, 0x49
.equ damagecalc2, 0x4A
.equ cmd4b, 0x4B
.equ switch1, 0x4C
.equ switch2, 0x4D
.equ switch3, 0x4E
.equ jumpifcannotswitch, 0x4F
.equ openpartyscreen, 0x50
.equ cmd51, 0x51
.equ cmd52, 0x52
.equ cmd53, 0x53
.equ cmd54, 0x54
.equ cmd55, 0x55
.equ cmd56, 0x56
.equ cmd57, 0x57
.equ cmd58, 0x58
.equ checkiflearnmoveinbattle, 0x59
.equ cmd5a, 0x5A
.equ cmd5b, 0x5B
.equ cmd5c, 0x5C
.equ cmd5d, 0x5D
.equ cmd5e, 0x5E
.equ cmd5f, 0x5F
.equ cmd60, 0x60
.equ cmd61, 0x61
.equ cmd62, 0x62
.equ jumptoattack, 0x63
.equ statusanimation, 0x64
.equ cmd65, 0x65
.equ cmd66, 0x66
.equ cmd67, 0x67
.equ cmd68, 0x68
.equ cmd69, 0x69
.equ removeitem, 0x6A
.equ cmd6b, 0x6B
.equ cmd6c, 0x6C
.equ cmd6d, 0x6D
.equ cmd6e, 0x6E
.equ cmd6f, 0x6F
.equ cmd70, 0x70
.equ cmd71, 0x71
.equ somethingwithhelditem, 0x72
.equ cmd73, 0x73
.equ cmd74, 0x74
.equ cmd75, 0x75
.equ cmd76, 0x76
.equ setprotect, 0x77
.equ faintifabilitynotdamp, 0x78
.equ setuserhptozero, 0x79
.equ jumpwhiletargetvalid, 0x7A
.equ setdamageasrestorehalfmaxhp, 0x7B
.equ jumptolastusedattack, 0x7C
.equ setrain, 0x7D
.equ setreflect, 0x7E
.equ setleechseed, 0x7F
.equ manipulatedamage, 0x80
.equ setrest, 0x81
.equ jumpifnotfirstturn, 0x82
.equ nop3, 0x83
.equ jumpifcannotsleep, 0x84
.equ stockpile, 0x85
.equ stockpiletobasedamage, 0x86
.equ stockpiletohprecovery, 0x87
.equ negativedamage, 0x88
.equ statbuffchange, 0x89
.equ normalisebuffs, 0x8A
.equ setbide, 0x8B
.equ confuseifrepeatingattackends, 0x8C
.equ setloopcounter, 0x8D
.equ cmd8e, 0x8E
.equ forcerandomswitch, 0x8F
.equ changetypestoenemyattacktype, 0x90
.equ givemoney, 0x91
.equ setlightscreen, 0x92
.equ koplussomethings, 0x93
.equ gethalfcurrentenemyhp, 0x94
.equ setsandstorm, 0x95
.equ weatherdamage, 0x96
.equ tryinfatuatetarget, 0x97
.equ cmd98, 0x98
.equ setmisteffect, 0x99
.equ setincreasedcriticalchance, 0x9A
.equ transformdataexecution, 0x9B
.equ setsubstituteeffect, 0x9C
.equ copyattack, 0x9D
.equ metronomeeffect, 0x9E
.equ nightshadedamageeffect, 0x9F
.equ psywavedamageeffect, 0xA0
.equ counterdamagecalculator, 0xA1
.equ mirrorcoatdamagecalculator, 0xA2
.equ disablelastusedattack, 0xA3
.equ setencore, 0xA4
.equ painsplitdamagecalculator, 0xA5
.equ settypetorandomresistance, 0xA6
.equ setalwaymukflag, 0xA7
.equ copymovepermanently, 0xA8
.equ selectrandommovefromusermoves, 0xA9
.equ destinybondeffect, 0xAA
.equ cmdab, 0xAB
.equ remaininghptopower, 0xAC
.equ reducepprandom, 0xAD
.equ clearstatusifnotsoundproofed, 0xAE
.equ cursetarget, 0xAF
.equ setspikes, 0xB0
.equ setforesight, 0xB1
.equ setperishsong, 0xB2
.equ rolloutdamagecalculation, 0xB3
.equ jumpifconfusedandattackmaxed, 0xB4
.equ furycutterdamagecalculation, 0xB5
.equ happinesstodamagecalculation, 0xB6
.equ presentdamagecalculation, 0xB7
.equ setsafeguard, 0xB8
.equ magnitudedamagecalculation, 0xB9
.equ cmdba, 0xBA
.equ setsunny, 0xBB
.equ maxattackhalvehp, 0xBC
.equ copyfoestats, 0xBD
.equ breakfree, 0xBE
.equ setcurled, 0xBF
.equ recoverbasedonsunlight, 0xC0
.equ hiddenpowerdamagecalculation, 0xC1
.equ selectnexttarget, 0xC2
.equ setfutureattack, 0xC3
.equ beatupcalculation, 0xC4
.equ hidepreattack, 0xC5
.equ unhidepostattack, 0xC6
.equ setminimize, 0xC7
.equ sethail, 0xC8
.equ jumpifattackandspecialattackcannotfall, 0xC9
.equ setforcedtarget, 0xCA
.equ setcharge, 0xCB
.equ callterrainattack, 0xCC
.equ cureifburnedparalysedorpoisoned, 0xCD
.equ settorment, 0xCE
.equ jumpifnodamage, 0xCF
.equ settaunt, 0xD0
.equ sethelpinghand, 0xD1
.equ itemswap, 0xD2
.equ copyability, 0xD3
.equ cmdd4, 0xD4
.equ setroots, 0xD5
.equ doubledamagedealtifdamaged, 0xD6
.equ setyawn, 0xD7
.equ setdamagetohealthdifference, 0xD8
.equ scaledamagebyhealthratio, 0xD9
.equ abilityswap, 0xDA
.equ imprisoneffect, 0xDB
.equ setgrudge, 0xDC
.equ weightdamagecalculation, 0xDD
.equ asistattackselect, 0xDE
.equ setmagiccoat, 0xDF
.equ setstealstatchange, 0xE0
.equ cmde1, 0xE1
.equ cmde2, 0xE2
.equ jumpiffainted, 0xE3
.equ naturepowereffect, 0xE4
.equ pickupitemcalculation, 0xE5
.equ actualcastformswitch, 0xE6
.equ castformswitch, 0xE7
.equ settypebasedhalvers, 0xE8
.equ seteffectbyweather, 0xE9
.equ recycleitem, 0xEA
.equ settypetoterrain, 0xEB
.equ pursuitwhenswitched, 0xEC
.equ snatchmove, 0xED
.equ removereflectlightscreen, 0xEE
.equ pokemoncatchfunction, 0xEF
.equ catchpoke, 0xF0
.equ capturesomethingf1, 0xF1
.equ capturesomethingf2, 0xF2
.equ capturesomethingf3, 0xF3
.equ removehp, 0xF4
.equ curestatutfirstword, 0xF5
.equ cmdf6, 0xF6
.equ activesidesomething, 0xF7
.equ callasm, 0xF8
.equ setword, 0xFA


@ScriptReferences
.equ WaterVoltAbsorbEnd, 0x1D93DC
.equ FlashFireEnd, 0x1D9404
.equ DoesNotAffectEnd, 0x1D93F2
.equ SoundProofEnd, 0x1D947A
@.equ LightningRodEnd,
@.equ DrySkinEnd,
@.equ StormDrainEnd,
@.equ MotorDriveEnd,
@.equ SapSipperEnd,
.equ StandardEndScriptBS, 0x81D694E
.equ BoomburstBS, BoomburstBSLabel+RomAreaOffset
.equ SurfBS, Myloc+RomAreaOffset
.equ DischargeBS, DischargeBSLabel+RomAreaOffset
.equ LavaPlumeBS, LavaPlumeBSLabel+RomAreaOffset
.equ LavaPlumeMainBS, LavaPlumeMainBSLabel+RomAreaOffset
.equ SludgeWaveBS, SludgeWaveBSLabel+RomAreaOffset
.equ BulldozeBS, BulldozeBSLabel+RomAreaOffset
@@.equ ParaChargeBS, ParaChargeBSLabel+RomAreaOffset
.equ SurfIteration, SurfIterationLabel+RomAreaOffset
.equ BoomburstIteration, BoomburstIterationLabel+RomAreaOffset
.equ DischargeIteration, DischargeIterationLabel+RomAreaOffset
.equ LavaPlumeIteration, LavaPlumeIterationLabel+RomAreaOffset
.equ SludgeWaveIteration, SludgeWaveIterationLabel+RomAreaOffset
.equ BulldozeIteration, BulldozeIterationLabel+RomAreaOffset
.equ ParaChargeIteration, ParaChargeIterationLabel+RomAreaOffset
.equ AbsorbRebrancher, AbsorbRebrancherLabel+RomAreaOffset
.equ StdMultiTgtDmgeBS, StandardMultiTargetDamageBSLabel+RomAreaOffset
.equ MissMultiTgtDmgBS, MissMultiDamageTargetBSLabel+RomAreaOffset
.equ NoDivingTargetSurf, NoDivingTargetSurfLabel+RomAreaOffset
.equ ReturnAfterAbsorb, ReturnAfterAbsorbLabel+RomAreaOffset
.equ NextIterationBS, NextIterationBSLabel+RomAreaOffset
.equ JumpIfMoveTargetRangeFoesAndAllies, MoveRangeCheckASM+RomAreaOffset

.equ RomAreaOffset, 0x8000000

@@@@Sort the order of these orgs in increasing order of locations so you don't get the error message: attempt to move org backwards.

@.align 2
@.org LightningRodEnd
@.word AbsorbRebrancher


@.org StormDrainEnd
@.word AbsorbRebrancher


@.org MotorDriveEnd
@.word AbsorbRebrancher


@.org SapSipperEnd
@.word AbsorbRebrancher


.org MoveEffectTable
.word SurfBS


.org MoveEffectTable+0x8 @(Effect 2)
.word SludgeWaveBS


.org MoveEffectTable+0xC @(Effect 3)
.word ParaChargeBS

.org MoveEffectTable+0x10 @(Effect 4)
.word LavaPlumeBS


.org MoveEffectTable+0x18  @(Effect 6)
.word DischargeBS


.org MoveEffectTable+0x118 @(Effect 70)
.word BulldozeBS


.org WaterVoltAbsorbEnd
.word AbsorbRebrancher


.org DoesNotAffectEnd
.word AbsorbRebrancher


.org FlashFireEnd
.word AbsorbRebrancher


.org SoundProofEnd
.word AbsorbRebrancher

@@@@@@@@@@ Surf Damage
.org Myloc

SurfBSLabel:
.byte jumpifhalfword, Equals
.word CurrMove
.hword BoomburstID
.word BoomburstBS

.byte jumpifhalfword, Equals
.word CurrMove
.hword PetalBlizzardID
.word BoomburstBS

.byte jumpifhalfword, NotEquals
.word CurrMove
.hword SurfID
.word StdSingleTgtDmgBS

.byte attackcanceler, attackstring, ppreduce, selectnexttarget

SurfIterationLabel:
.byte cmd25

.byte jumpifspecialstatusflag, BANK_TARGET
.word DivingState
.byte 0x1
.word NoDivingTargetSurf

.byte orword
.word HitMarker, OverrideDiveEvasion

.byte setbyte
.word DamageMultiplier
.byte 0x2

.byte goto
.word StdMultiTgtDmgeBS

NoDivingTargetSurfLabel:

.byte bicword
.word HitMarker, OverrideDiveEvasion

.byte setbyte
.word DamageMultiplier
.byte 0x1

.byte goto
.word StdMultiTgtDmgeBS


@@@@@@@@@@@For Boomburst & Petal Blizzard 
BoomburstBSLabel:
.byte selectnexttarget  @The name should be selectfirstpossibletarget actually
BoomburstIterationLabel:

.byte attackcanceler, attackstring, ppreduce, cmd25

.byte orword
.word HitMarker
.word 0x2000200

.byte goto
.word StdMultiTgtDmgeBS

@@@@@@@@@@Lava Plume Battle Script
LavaPlumeBSLabel:
.byte jumpifhalfword, Equals
.word CurrMove
.hword SearingShotID 
.word LavaPlumeMainBS

.byte jumpifhalfword, NotEquals
.word CurrMove
.hword LavaPlumeID 
.word StdSingleTgtDmgBrnBS

LavaPlumeMainBSLabel:

.byte attackcanceler, attackstring, ppreduce, selectnexttarget

LavaPlumeIterationLabel:
.byte cmd25
.byte setbyte
.word AppliedEffectByte
.byte BurnEffect


.byte goto
.word StdMultiTgtDmgeBS

@@@@@@@@@@Discharge Battle Script
DischargeBSLabel:
.byte jumpifhalfword, NotEquals
.word CurrMove
.hword DischargeID 
.word StdSingleTgtDmgPrlzBS

.byte attackcanceler, attackstring, ppreduce, selectnexttarget

DischargeIterationLabel:
.byte cmd25
.byte setbyte
.word AppliedEffectByte
.byte ParalysisEffect


.byte goto
.word StdMultiTgtDmgeBS


@@@@@@@@@@Sludge Wave Battle Script
SludgeWaveBSLabel:
.byte jumpifhalfword, NotEquals
.word CurrMove
.hword SludgeWaveID 
.word StdSingleTgtDmgPsnBS

.byte attackcanceler, attackstring, ppreduce, selectnexttarget

SludgeWaveIterationLabel:
.byte cmd25
.byte setbyte
.word AppliedEffectByte
.byte PoisonEffect


.byte goto
.word StdMultiTgtDmgeBS


@@@@@@@@@@Bulldoze Battle Script
BulldozeBSLabel:
.byte jumpifhalfword, NotEquals
.word CurrMove
.hword BulldozeID 
.word StdSingleTgtDmgLowFoeSpeedBS

.byte attackcanceler, attackstring, ppreduce, selectnexttarget

BulldozeIterationLabel:
.byte cmd25
.byte setbyte
.word AppliedEffectByte
.byte LowFoeSpeedEffect


.byte goto
.word StdMultiTgtDmgeBS

@@@@@@@@@@@
ParaChargeBSLabel:
.byte jumpifhalfword, NotEquals
.word CurrMove
.hword ParaChargeID
.word StdSingleTgtDmgDrainBS

.byte attackcanceler, attackstring, ppreduce, selectnexttarget

ParaChargeIterationLabel:
.byte cmd25

.byte accuracycheck
.word MissMultiTgtDmgBS
.hword 0x0

.word calculatedamage

.byte attackanimation, waitanimation, missmessage, cmd5c, 0x0, waitstate

.byte graphicalhpupdate, 0x0, datahpupdate, 0x0

.byte critmessage, waitmessage
.hword 0x40

.byte resultmessage, waitmessage
.hword 0x40

.byte negativedamage

.byte jumpiffainted, BANK_USER
.word ReturnAfterAbsorb

.byte jumpifbyte, 0x4
.word 0x2023DCC
.byte 0x29
.word ReturnAfterAbsorb

.byte orword
.word HitMarker, 0x100

.byte jumpifability, BANK_TARGET, 0x40
.word OozeEffect+RomAreaOffset

.byte setbyte
.word 0x2023E87
.byte 0x0

.byte goto
.word UserHPUpdate+RomAreaOffset

OozeEffect:
.byte manipulatedamage, 0x0
.byte setbyte
.word 0x2023E87
.byte 0x0

UserHPUpdate:
.byte graphicalhpupdate, 0x1, datahpupdate, 0x1

.byte printfromtable
.word 0x83FE5DC


.byte waitmessage
.hword 0x40

.byte faintpokemon, BANK_USER, 0x0
.word 0x0

.byte faintpokemon, BANK_FOE, 0x0
.word 0x0

.byte bicword
.word HitMarker, 0x100

.byte printstring
.hword 0x130
.byte waitmessage
.hword 0x40

.byte setbyte
.word Cmd49TableCounter
.byte 0x0

.byte cmd49, 0x0, 0x0

.byte jumpwhiletargetvalid
.word NextIterationBS

.byte end

@@@@@@@@@@Master Battle Script
StandardMultiTargetDamageBSLabel:
.byte accuracycheck
.word MissMultiTgtDmgBS
.hword 0x0

.word calculatedamage

.byte attackanimation, waitanimation, missmessage, cmd5c, 0x0, waitstate

.byte graphicalhpupdate, 0x0, datahpupdate, 0x0

.byte critmessage, waitmessage
.hword 0x40

.byte resultmessage, waitmessage
.hword 0x40

.byte printstring
.hword 0x130
.byte waitmessage
.hword 0x40

.byte seteffectwithchancetarget

.byte faintpokemon, BANK_FOE, 0x0
.word 0x0

.byte setbyte
.word Cmd49TableCounter
.byte 0x0

.byte cmd49, 0x0, 0x0

.byte jumpwhiletargetvalid
.word NextIterationBS

.byte end
@@@@@@@@@@

MissMultiDamageTargetBSLabel:
.byte pause, 0x20, 0x0, cmd6, missmessage

.byte resultmessage, waitmessage
.hword 0x40

ReturnAfterAbsorbLabel:

.byte setbyte
.word Cmd49TableCounter
.byte 0x0

.byte cmd49, 0x0, 0x0

.byte jumpwhiletargetvalid
.word NextIterationBS

.byte end

@@@@@@@@@@
NextIterationBSLabel:
.byte jumpifhalfword, Equals
.word CurrMove
.hword SurfID 
.word SurfIteration

.byte jumpifhalfword, Equals
.word CurrMove
.hword BulldozeID 
.word BulldozeIteration

.byte jumpifhalfword, Equals
.word CurrMove
.hword DischargeID 
.word DischargeIteration

.byte jumpifhalfword, Equals
.word CurrMove
.hword LavaPlumeID 
.word LavaPlumeIteration

.byte jumpifhalfword, Equals
.word CurrMove
.hword ParaChargeID 
.word ParaChargeIteration

.byte jumpifhalfword, Equals
.word CurrMove
.hword SearingShotID 
.word LavaPlumeIteration

.byte goto
.word BoomburstIteration
@@@@@@@@@@@@@@@@@@@@@@@@@@

AbsorbRebrancherLabel:
.byte callasm
.word JumpIfMoveTargetRangeFoesAndAllies+1
.byte goto
.word StandardEndScriptBS

@@@@@@@@@@@@@@@@@@@
.align 2
MoveRangeCheckASM:
       ldr r1, =CurrMove
       ldr r2, =MoveTable
       ldrh r0, [r1]
       lsl r1, r0, #1
       add r0, r0, r1
       lsl r1, r0, #2
       add r2, r1, r2
       ldrb r0, [r2, #0x6]
       cmp r0, #0x20
       bne EndASM
       ldrb r0, [r2, #0xA]
       cmp r0, #0x2
       beq EndASM
       ldr r1, =HitMarker
       ldr r0, [r1]
       ldr r2, =0x2000200
       orr r0, r2
       str r0, [r1]
       ldr r0, =ReturnAfterAbsorb
       sub r0, #0x5
       ldr r1, =ScriptPointer
       str r0, [r1]
EndASM:
       bx lr
.align 2
.pool
 
Back
Top