0 / 0 / 0
Регистрация: 20.02.2018
Сообщений: 15
|
|||||||||||
1 | |||||||||||
NASM Вывести число в терминал средствами существующих API или библиотек16.08.2019, 16:44. Показов 2579. Ответов 3
Метки нет (Все метки)
Доброго времени суток! Столкнулся с проблемой вывода знакового числа из регистра в терминал.
Существует ли способ вывода числа не переводя его в строку из символов вручную? Может быть какой то системный вызов готовый уже существует, если нет, то подскажите как соответствующим образом вызвать функцию си в ассемблерном коде. Спасибо! Добавлено через 2 минуты Попробовал использовать printf, но получил ошибку "undefined reference to `printf'" код:
ld: cannot find -lc
0
|
16.08.2019, 16:44 | |
Ответы с готовыми решениями:
3
Средствами чистого JS без библиотек,php,AJAX нужно вывести все теги a href вместе с их содержимым c другого сайта Где можно посмотреть список всех существующих библиотек для AS? (кроме GitHub) Screenshot из Windows Media Player средствами .NET или API Windows Вывод в Notification API только не существующих данных при их обновлении. |
438 / 367 / 132
Регистрация: 09.09.2011
Сообщений: 1,334
|
|
22.08.2019, 23:15 | 2 |
полностью команду c ld приведите
0
|
6770 / 2739 / 384
Регистрация: 17.02.2013
Сообщений: 4,047
|
|
23.08.2019, 05:01 | 3 |
0
|
50 / 6 / 1
Регистрация: 08.02.2020
Сообщений: 19
|
|
09.02.2020, 20:50 | 4 |
Соглашение о вызове функции x86-64:
x86-64 передает аргументы в регистрах, что является более эффективным, чем соглашение стековых аргументов i386 System V. Это позволяет избежать задержек и дополнительных инструкций по сохранению аргументов в памяти (кеш), а затем снова загружать их в вызываемый объект. Это хорошо работает, потому что доступно больше регистров, и лучше для современных высокопроизводительных процессоров, где важны задержки и неупорядоченное выполнение. (I386 ABI очень старый). В этом новый Механизм: Сначала параметры делятся на классы. Класс каждого параметра определяет способ, которым он передается вызываемой функции. Для получения полной информации см. «3.2 Последовательность вызова функций» Двоичный интерфейс приложения System V Приложение для архитектуры AMD64 который читает, частично: После классификации аргументов регистры присваиваются (в порядок слева направо) для прохождения следующим образом: Если класс MEMORY, передайте аргумент в стек. Если класс INTEGER, следующий доступный регистр используется последовательность% rdi,% rsi,% rdx,% rcx,% r8 и% r9 Так %rdi, %rsi, %rdx, %rcx, %r8 and %r9 регистры с целью используется для передачи параметров целочисленного значения / указателя (т.е. класса INTEGER) в любую функцию libc из сборки. % rdi используется для первого параметра INTEGER. % rsi для 2-го,% rdx для 3-го и так далее. затем call инструкция должна быть дана. Стек (%rsp) должен быть выровнен по 16B, когда call выполняет. Если имеется более 6 параметров INTEGER, 7-й параметр INTEGER и более поздние передаются в стек. (Звонящий звонит, так же, как x86-32.) Первые 8 аргументов с плавающей запятой передаются в% xmm0-7, а затем в стеке. Здесь нет сохраняемых при вызове векторных регистров. (Функция с сочетанием FP и целочисленных аргументов может иметь более 8 аргументов в регистре.) Вариадические функции (подобные printf) всегда нужно %al = количество аргументов регистра FP. Существуют правила для того, когда упаковывать структуры в регистры (rdx:rax по возвращении) против памяти. Посмотрите ABI для деталей и проверьте выходные данные компилятора, чтобы убедиться, что ваш код согласен с компиляторами о том, как что-то должно быть передано / возвращено. Вам нужно поместить fmt в rdi выводимое число в rsi очистить eax потом вызывать printf
2
|
09.02.2020, 20:50 | |
09.02.2020, 20:50 | |
Помогаю со студенческими работами здесь
4
Текстовое число через api функцию в EAX или ячейку памяти Win32 API ввести/вывести дробное число в edit control Как привести словосочетание в именительный падеж, единственное число? (php или api) Правильно вызвать API функцию из библиотек на C Вывести сообщение: чётное число или нечётное число Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |