Page 1 of 1

jump condition question

Posted: Tue Oct 17, 2017 8:13 pm
by Kalas
Hey!

I'm kinda new to jump conditions so I wanted to make sure I understand this following code correctly:

Code: Select all

 code:
 pushf
 cmp [r12+20],esi
 jl originalcode
 popf
 jmp return

originalcode:
  popf
  mov [r12+20],esi
  jmp return
The instruction is for Health, It writes when you loose and gain health. (I saw Stephan Chapman video about this but I still don't understand how It works)

Re: jump condition question

Posted: Tue Oct 17, 2017 8:46 pm
by Bloodybone
jl is jump if less that means jump if [r12+20] is smaler than esi. I watched the tutorial also so what happens is if the player gets hit esi is smaller than [r12+20] so don't jump and if it is bigger like if you use an health potion esi is bigger than [r12+20] so jump.

Re: jump condition question

Posted: Tue Oct 17, 2017 8:55 pm
by Kalas
Oh I think I got it now, still have doubts.

So if I get hit jump to return which means do nothing, and if I gain health so run the instruction as normal. Thank you so much!

Re: jump condition question

Posted: Tue Oct 17, 2017 9:02 pm
by Bloodybone
Kalas wrote:
Tue Oct 17, 2017 8:55 pm
Oh I think I got it now, still have doubts.

So if I get hit jump to return which means do nothing, and if I gain health so run the instruction as normal. Thank you so much!
What doubts do you have?

Re: jump condition question

Posted: Tue Oct 17, 2017 9:05 pm
by Kalas
I don't get it, If +20 is lower then esi jump to code, shouldn't it jump to return?

Re: jump condition question

Posted: Tue Oct 17, 2017 9:09 pm
by Kalas
Oh hang on, It's never going to take health but it checks if it is lower then esi it's going to jump to code and allow to gain health.

Re: jump condition question

Posted: Tue Oct 17, 2017 9:10 pm
by Bloodybone
[r12+20] is the pointer to player health and esi is new player health so if new player health(esi) is smaller then current player health [r12+20] then jump to return and if esi is bigger like current player health is 40 and esi is after drinking the health potion 50 then jump to originalcode

Re: jump condition question

Posted: Tue Oct 17, 2017 9:11 pm
by Bloodybone
Kalas wrote:
Tue Oct 17, 2017 9:09 pm
Oh hang on, It's never going to take health but it checks if it is lower then esi it's going to jump to code and allow to gain health.
yes thats it.

Re: jump condition question

Posted: Tue Oct 17, 2017 9:13 pm
by Kalas
Sweet thanks!