But still I do wonder why the 32bit instructions worked in my 64bit machine
What did your original assembly code look like?
How did you create the machine code from it? What assembler did you use? What options?
How exactly did you create the ELF file?
As long as the string data was stored in a memory address representable in 32-bits there's no reason why the code wouldn't work.