Assembler Developer

Moderators: None (Apply to moderate this forum)
Number of threads: 960
Number of posts: 1751

This Forum Only
Post New Thread
Single Post View       Linear View       Threaded View      f

Report
how to print a long string using lodsl/ or any other way? Posted by kriss332 on 25 Aug 2012 at 4:50 AM
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



 

Recent Jobs

Official Programmer's Heaven Blogs
Web Hosting | Browser and Social Games | Gadgets

Popular resources on Programmersheaven.com
Assembly | Basic | C | C# | C++ | Delphi | Flash | Java | JavaScript | Pascal | Perl | PHP | Python | Ruby | Visual Basic
© Copyright 2011 Programmersheaven.com - All rights reserved.
Reproduction in whole or in part, in any form or medium without express written permission is prohibited.
Violators of this policy may be subject to legal action. Please read our Terms Of Use and Privacy Statement for more information.
Operated by CommunityHeaven, a BootstrapLabs company.