Результаты поиска по запросу "calling-convention"

1 ответ

@ DavidC.Rankin: это было совсем недавно, что изменилось на Arch.

омпиляции кода ниже: global main extern printf, scanf section .data msg: db "Enter a number: ",10,0 format:db "%d",0 section .bss number resb 4 section .text main: mov rdi, msg mov al, 0 call printf mov rsi, number mov rdi, format mov al, 0 call ...

2 ответа

Я не пробовал это на Годболте, но ты мог.

аюIDA Pro Book [https://nostarch.com/idapro2.htm], На странице 86, обсуждая соглашения о вызовах, автор показывает пример соглашения о вызовах cdecl, которое устраняет необходимость для вызывающей стороны очищать аргументы из стека. Я ...

1 ответ

Спецификация ABI для некоторых случаев передачи аргументов с участием конструкторов перемещения была неясной, и когда они были прояснены, clang изменился, чтобы следовать ABI. Это, наверное, один из тех случаев.

отрим этот код: #include <utility> #include <tuple> std::pair<int, int> f1() { return std::make_pair(0x111, 0x222); } std::tuple<int, int> f2() { return std::make_tuple(0x111, 0x222); }Clang 3 и 4 генерируют одинаковый код для обоих на ...

ТОП публикаций

0 ответов

 и смещение эффективно отбрасывается, поэтому эквивалентно

аюсь изучить ассемблер x64. Я написал «hello world» и попытался вызвать printf, используя следующий код: EXTERN printf: PROC PUBLIC hello_world_asm .data hello_msg db "Hello world", 0 .code hello_world_asm PROC push rbp ; save frame pointer mov ...

1 ответ

Разрешен ли мусор в старших битах регистров параметров и возвращаемых значений в x86-64 SysV ABI?

2 ответа

Каждая инструкция PUSH выдвигает кратное 8 байт на x64?

На x64 каждая инструкция PUSH выдвигает кратное 8 байтов? Если нет, то сколько это толкает?Кроме того, сколько места в стеке занимает каждый параметр функции?

1 ответ

Вызов printf в расширенном встроенном ASM

1 ответ

Написать программу Fizz в сборке / Использование библиотеки C

Может ли кто-нибудь помочь мне с этой программой сборки: сначала распечатайте числа от 1 до 100. Затем следуйте правилам игры для детей Fizz: если число равн...

2 ответа

Вызов указателя на функцию, у которой назначенная функция имеет меньше аргументов, чем тип указателя

Рассмотрим следующий код:

3 ответа

Соглашение о вызовах x86: должны ли передаваемые стеком аргументы быть доступными только для чтения?

Похоже, что современные компиляторы обрабатывают аргументы, передаваемые стеком, только для чтения. Обратите внимание, что в соглашении о вызовах x86 вызываю...