PDA

View Full Version : Linux Assembler



Eibro
01-11-2003, 12:17 PM
I'm following a tutorial @ http://www.geocities.com/SiliconValley/Ridge/2544/asm/linux-asm.txt
however, the second program (command line arguments) example apparently has an error in it.

The line is:

movb (%ecx,%edx,$1), %al
Does anyone see anything wrong with that? It's the line `as' flags as having an error.

The entire program:


################################################## ######################
.section .data

new_line_char:
.byte 0x0a
################################################## ######################
.section .text

.globl _start

.align 4
_start:
movl %esp, %ebp # store %esp in %ebp
again:
addl $4, %esp # %esp ---> next parameter on stack
movl (%esp), %eax # move next parameter into %eax
testl %eax, %eax # %eax (parameter) == NULL pointer?
jz end_again # get out of loop if yes
call putstring # output parameter to stdout.
jmp again # repeat loop
end_again:
xorl %eax, %eax # %eax = 0
incl %eax # %eax = 1, system call _exit ()
xorl %ebx, %ebx # %ebx = 0, normal program exit.
int $0x80 # execute _exit () system call

putstring: .type @function
pushl %ebp
movl %esp, %ebp
movl 8(%ebp), %ecx
xorl %edx, %edx
count_chars:
movb (%ecx,%edx,$1), %al
testb %al, %al
jz done_count_chars
incl %edx
jmp count_chars
done_count_chars:
movl $4, %eax
xorl %ebx, %ebx
incl %ebx
int $0x80
movl $4, %eax
leal new_line_char, %ecx
xorl %edx, %edx
incl %edx
int $0x80
movl %ebp, %esp
popl %ebp
ret

Any help on this would be greatly appreciated.

zahid
01-28-2003, 10:51 PM
Getting interest on asm in Linux. ..
zero knowledge to help you. I guess you will find one to help you.

Now tell tell me, how did you start asm...

Give me some online sources. First how to compile code. Then if any tutorial.. I have visited the above url already.

Hammer
01-29-2003, 09:32 AM
Have you tried here (http://www.flashdaddee.com/forums/forumdisplay.php?forumid=30)

orbitz
01-29-2003, 08:23 PM
What is the error? This shoudl be a valid AT&T ASM Syntax line. Although I have not done much ASM in awhile.