Page 1 of 1

Problem With Reassemble

Posted: Sat Mar 21, 2020 11:01 pm
by Omega59
If Reassemble is used then you always get a " (reassemble( 00000000+2,6)) :00000000+2,6 could not be found)" on a perfectly working script.

Cheat Engine V. 7.0
Windows 10

Re: Problem With Reassemble

Posted: Sat Mar 21, 2020 11:08 pm
by cfemen
to be more specific:
he used my Ori and the Will of the Wisps table, he couldn't activate my Enable Script coz:
reassemble(aobCanJump+2,6)

this reassemble always gave him the mentioned error.
we talked on discord and i looked for it, he did nothing wrong, then reassemble command in script removed = script activate was possible.

we used ceregreset.exe to reset his cheat engine settings, but still same problem.
so i suggested him to create this topic, maybe someone or Dark Byte has an idea about this problem.

Re: Problem With Reassemble

Posted: Sun Mar 22, 2020 12:59 am
by panraven
reassemble has address as its _only_ parameter,
as the byte pattern at that address is enough to tell the size of the original instruction,
note that the reassembled instruction may have a different size.
Try use reassemble(aobCanJump+2) instead of reassemble(aobCanJump+2,6)

Re: Problem With Reassemble

Posted: Sun Mar 22, 2020 1:41 am
by cfemen
panraven wrote:
Sun Mar 22, 2020 12:59 am
reassemble has address as its _only_ parameter,
as the byte pattern at that address is enough to tell the size of the original instruction,
note that the reassembled instruction may have a different size.
Try use reassemble(aobCanJump+2) instead of reassemble(aobCanJump+2,6)
true, you are right about the parameter(only one)
so its curious that it always worked on my machine (and until now i never got a message with problems with my scripts that are using reassemble)
just changed the script and aobCanJump+2 does generate a correct condition jump.
so i hope its now fixed for Omega59!
thank you panraven, i dont know why i never realized that reassemble only has 1 parameter...i never had problems to use it with an extra length offset :shock:

Re: Problem With Reassemble

Posted: Sun Mar 22, 2020 4:34 am
by panraven
I guess AA script is evolved from a simple line assembler,
it was not and it is not parsed by a strict language grammar.
There may be some inconsistency between different ce version.
And there is some inconsistency between syntax check phase and execution phase in recent ce too.
For instance, you can define a symbol with a '@', but if it include a '@f' or '@b' inside the symbol,
it may complaint in syntax check phase (eg. include '@b' when no address label before the define command),
but work no problem when activated/executed.

^
Sorry, I mixed thing up. It is not inconsistency between different phases,
it is still either ok or error (depend on placement of the define command)
in both phases in my probably unrelated example.