hello to all.. i am trying to copy a long string from a string in data section to a register and then back to a variable (in GNU Assembler).
.data
hello:
.asciz "hello world\n"
.bss
.lcomm stringpointer, 20
.text
.globl _start
_start:
leal hello,%esi
lodsl #LOADING CONTENTS OF HELLO TO %EAX
leal stringpointer,%edi
stosl #LOADING TO A VAR.-STRINGPOINTER
movl $4,%eax
movl $1,%ebx
movl $stringpointer,%ecx
movl $12,%edx
int $0x80
movl $1,%eax #STARTING PRINT ROUTINE
movl $7,%ebx
int $0x80
But after execution it copies only 4 characters to variable & followed by prints 4 characters to screen.
Also if i don't use "leal" and "lodsl" and "stosl", and move the contents using pointer:-
movl $hello,stringpointer
and then using print routine to print to screen, A scrap kind of value gets printed. I guess it is ASCII value of something.
Anyone plz guide what to do.(I am a beginner in assembly language.). Thanks in advance