I'm following a tutorial @ http://www.geocities.com/SiliconVall.../linux-asm.txt
however, the second program (command line arguments) example apparently has an error in it.
The line is:
Does anyone see anything wrong with that? It's the line `as' flags as having an error.Code:movb (%ecx,%edx,$1), %al
The entire program:
Any help on this would be greatly appreciated.Code:######################################################################## .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



LinkBack URL
About LinkBacks


