Код (Text): .globl main .globl printf .text main: movl $5, %eax movl $CMD_PARAMS_STORAGE, %ebx xorl %ecx, %ecx xorl %edx, %edx int $0x80 movl %eax, %ebx movl $3, %eax movl $CMD_PARAMS_STORAGE, %ecx movl $0x100, %edx int $0x80 // Вот тут ошибка: хочу потом сравнивать строки, а не работает - выводит "./a.out" movl %ecx, %edi pushl $CMD_PARAMS_STORAGE call printf addl $4, %esp // Тут все правильно //Помогите, кто чем может!!!! ret .data CMD_PARAMS_STORAGE: .asciz "/proc/self/cmdline" help: .asciz "help" Не работатет - опять что-то напутал в коде. (опытный прикладной программист пытается стать ассемблерщиком)))
где грабли не скажу, но пару ссылок для размышлений подкину http://www.freebsd.org/doc/en/books/developers-handbook/x86-command-line.html http://leto.net/writing/nasm.php http://asm.sourceforge.net//resources.html
device Парсить строку ну если на стек положите соответствующие аргументы-адреса строк(т.е. предварительно распарсив, то что отдает cmdline), тогда можно.