View previous topic :: View next topic |
Author |
Message |
Nemexia55 Expert Cheater
Reputation: 0
Joined: 28 Jan 2014 Posts: 160
|
Posted: Mon Feb 10, 2014 9:31 am Post subject: What is the difference? |
|
|
What is the difference between :
please answer me!
_________________
|
|
Back to top |
|
 |
Matze500 Expert Cheater
Reputation: 8
Joined: 25 Jan 2012 Posts: 241 Location: Germany
|
Posted: Mon Feb 10, 2014 10:24 am Post subject: |
|
|
1. Move the content of ebx into eax
2. Move the contents of ebx into the byte at address eax
3. Move the 4 bytes in memory at the address contained in ebx into eax
4. Not possible to move memory to memory
Last edited by Matze500 on Mon Feb 10, 2014 4:28 pm; edited 1 time in total |
|
Back to top |
|
 |
Nemexia55 Expert Cheater
Reputation: 0
Joined: 28 Jan 2014 Posts: 160
|
Posted: Mon Feb 10, 2014 1:34 pm Post subject: |
|
|
i heard when you use [] it is the value of it (the number stored to)??!!
can you give an example for each one??
i mean:
mov eax,ebx => eax=7|012a ,ebx=9|012b The result => eax=9|012a
is the above true?
_________________
|
|
Back to top |
|
 |
Matze500 Expert Cheater
Reputation: 8
Joined: 25 Jan 2012 Posts: 241 Location: Germany
|
Posted: Mon Feb 10, 2014 4:33 pm Post subject: |
|
|
The code above is true.
eax : value=9 address = 210000ac
ebx : value=1 address = 310000ac
For the First
mov eax,ebx
eax : value=1 address = 310000ac
ebx : value=1 address = 310000ac
For the second
mov [eax],ebx
eax : value=1 address = 210000ac
ebx : value=1 address = 310000ac
if somthing is in [] its a memory block and you have acess to its value
|
|
Back to top |
|
 |
STN I post too much
Reputation: 43
Joined: 09 Nov 2005 Posts: 2676
|
Posted: Mon Feb 10, 2014 5:41 pm Post subject: |
|
|
It is probably much easier to remember when you type it like this
mov dword ptr [eax],ebx
CE already calculates the data type based on registers involved (eax,ebx) but if you were writing in a low level language like tasm/fasm you would use the correct addressing yourself. So its good to always remember like that. Whenever you see dword ptr you know the register or memory address that follows will have its value accessed instead of the value in register itself.
If the instruction misses the brackets [] then the value in the register itself is accessed and not the value inside the address that the register contains.
Do this, debug any program and notice how the value is moved when a certain instruction is executed, you will learn much faster that way than reading and trying to remember it.
_________________
|
|
Back to top |
|
 |
Nemexia55 Expert Cheater
Reputation: 0
Joined: 28 Jan 2014 Posts: 160
|
Posted: Tue Feb 11, 2014 6:22 am Post subject: Thanks |
|
|
thank you very much!
can you explain the third one too??
and i have another question:
what is the difference between (ja and jg) and also (jb and jl)??
please explain like mov
_________________
|
|
Back to top |
|
 |
mgr.inz.Player I post too much
Reputation: 222
Joined: 07 Nov 2008 Posts: 4438 Location: W kraju nad Wisla. UTC+01:00
|
Posted: Tue Feb 11, 2014 7:49 am Post subject: |
|
|
Nemexia55
launch cheatengine, press F1, Now:
Tutorials -> ASM and Hexing Theory -> Basic assembler
(also read "ASM Basics 1", "ASM Basics 2" and "ASM Basics 3")
_________________
|
|
Back to top |
|
 |
Nemexia55 Expert Cheater
Reputation: 0
Joined: 28 Jan 2014 Posts: 160
|
Posted: Tue Feb 11, 2014 8:41 am Post subject: Thanks |
|
|
Thank you very very much!
it explains very good!
_________________
|
|
Back to top |
|
 |
|