Здравствуйте, мне нужна помощь при изучении ассемблера NASM 64 на Linux. - вопрос №2271911



Дополнение автора от 04.01.17 16:02:42
Мне уже прислали неколько ссылок на обучающие материалы, но практически по всем ссылкам, к примеру, используется регистр «eax», на что «nasm -f elf64» выдаёт: «error: instruction not supported in 64-bit mode», хотелось бы попрактиковаться именно с новой 64-битной функциональностью.

Дополнение автора от 04.01.17 16:12:38
Пример конкретного вопроса:==================1: section .text2:3: global _start4:5: _start:6:     mov rax, 17:     mov rdi, 18:     mov rsi, [rsp+16]9:     mov rdx, 110:     syscall11:12:     mov rax, 6013:     xor rdi, rdi14:     syscall==================1) В строке 8 я получаю первый аргумент строки.2) Но я не знаю её длинну для указания в строке 9.Я бы хотел понять как самым простым способом вывести аргумент в stdout.
04.01.17
4 ответа

Ответы

Сейчас на сайте
04.01.17
какой у вас компьютер? и какой линух?

для поддержки х64 требуется совместимый процессор (хотя сейчас это большинство) и х64 версия линух
04.01.17
кстати, перевод ошибки — инструкция НЕ поддерживается в 64 битном режиме

попробуйте скомпилировать пример в 32 битном режиме (х86)
04.01.17
а еще сообщение об ошибке должно содержать номер строки исходной программы — это позволит понят какая именно инструкция вызывает ошибку
04.01.17
Посмотреть всех экспертов из раздела Технологии > Unix
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store