Здравствуйте, я вообщем тут изучаю ассемблер (nasm), в процессе обучения наткнулся на такую ошибку что не могу получить аргументы при вызове своей программы.
Вот текст (test.asm):
; section .data
; s : db "test"
section .text
global _start
_start:
pop rcx ; число аргументов
pop rcx ; имя программы
pop rcx ; первый параметр
; mov rcx, s
mov rax, 4 ; sys_write
mov rbx, 1 ; stdout
; в rcx содержится первый входной параметр
mov rdx, 4 ; длина строки, ставлю например 4
int 80h
mov rax, 1 ; sys_exit
mov rbx, 0 ; код завершения
int 80h
Компилирую так:
$ nasm -f elf64 test.asm
$ ld -s -o test test.o
Запускаю:
$ ./test one two three four five six seven
$
- Результат как видите пусто. Во всех туториалах (ну например http://leto.net/writing/nasm.php) описывается что аргументы программы можно получить через стек, но вот у меня ничего не выходит. Что я делаю не так?
ЗЫ:
$ uname -a
Linux debian.site 2.6.22-3-amd64 #1 SMP Sun Nov 4 18:18:09 UTC 2007 x86_64 GNU/Linux
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anterior
Ответ на:
комментарий
от anterior
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anterior
Ответ на:
комментарий
от anterior
Ответ на:
комментарий
от anterior
Ответ на:
комментарий
от anterior
Ответ на:
комментарий
от anterior
Ответ на:
комментарий
от mky
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anterior
Ответ на:
комментарий
от mky
Ответ на:
комментарий
от anterior
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум простой код на NASM (2024)
- Форум NASM, GDB, LD (2012)
- Форум кто знает хорошо Assembler Gas (2020)
- Форум с++, nasm, массивы и деление (2019)
- Форум Методика поиска аналогичного кода в бинарном файле нового релиза. (2021)
- Форум Проблема с Hello World на асме (2020)
- Форум [x86_64/asm/c] использование параметров в C-функции (2011)
- Форум Странности с sys_clone в андроиде (2016)
- Форум x86-64 - размер указателя (2009)
- Форум быстрый xor на amd x86_64 (2011)