how to print a long string using lodsl/ or any other way? - Programmers Heaven

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

how to print a long string using lodsl/ or any other way?

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). [code]
.data
hello:
.asciz "hello world
"
.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

[/code]

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:-
[code]
movl $hello,stringpointer
[/code]
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
Sign In or Register to comment.