Assembler error

Just starting out? Need help? Post your questions and find answers here.
User avatar
Caronte3D
Addict
Addict
Posts: 1027
Joined: Fri Jan 22, 2016 5:33 pm
Location: Some Universe

Assembler error

Post by Caronte3D »

This code trow an assembler error.
I found this code some where in the forum long time ago, Its to ofuscate the strings on the compiled output:

Code: Select all

  !macro ppublic name{
    !if name eq _SYS_StaticStringEnd
    !repeat $-_SYS_StaticStringStart
    !load zczc from _SYS_StaticStringStart+%-1
    !store zczc xor 137 at _SYS_StaticStringStart+%-1
    !end repeat
    !end if
    !public name}
    !public fix ppublic
    CompilerIf #PB_Compiler_Processor = #PB_Processor_x86
      !mov edi,_SYS_StaticStringStart
      !mov ecx,_SYS_StaticStringEnd-_SYS_StaticStringStart
      !@@:
      !xor byte[edi],137
      !inc edi
      !dec ecx
    CompilerElse
      !mov rdi,_SYS_StaticStringStart
      !mov rcx,_SYS_StaticStringEnd-_SYS_StaticStringStart
      !@@:
      !xor byte[rdi],137
      !inc rdi
      !dec rcx
    CompilerEndIf
    !jnz @b
EDIT:
I found the original post from User_Russian (thanks!):
https://www.purebasic.fr/english/viewto ... 52#p468652
Fred
Administrator
Administrator
Posts: 16619
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

Re: Assembler error

Post by Fred »

You can't use x86 asm with the C backend, it needs to be C code (or inline asm in C).
User avatar
Caronte3D
Addict
Addict
Posts: 1027
Joined: Fri Jan 22, 2016 5:33 pm
Location: Some Universe

Re: Assembler error

Post by Caronte3D »

Ok, I was don't know about it
Post Reply