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

1 ответ

особенно в ядрах с включенным смягчением Meltdown + Spectre (что делает системные вызовы намного более дорогими, например, десятки тысяч тактов + TLB и аннулирование предсказания ветвления вместо сотен тактов).

ользую sys_brk syscall для динамического выделения памяти в куче. Я заметил, что при получении текущего местоположения разрыва я обычно получаю значение, подобное этому: mov rax, 0x0C mov rdi, 0x00 syscallрезультаты в rax 0x401000Значение ...

3 ответа

stackoverflow.com/questions/20526361/what-does-rep-ret-mean

аюсь понять сборку в x86 больше. У меня есть функция загадки, что я знаю, возвращаетint и беретint аргумент. Так выглядитint mystery(int n){}, Я не могу понять функцию в C, однако. Сборка это: mov %edi, %eax lea 0x0(,%rdi, 8), %edi sub %eax, ...

1 ответ

 относится к размещенной среде, а не автономной.

дал минимальную C ++ программу: int main() { return 1234; }и скомпилировал его с помощью clang ++ 5.0 с отключенной оптимизацией (по умолчанию-O0).Полученный код ...

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

3 ответа

 :)

олучить значение аргументов, используя встроенную сборку в C без Glibc? мне нужен этот код дляLinux archecturex86_64 а такжеi386, если вы знаете оMAC OS X или жеWindows Также отправьте и, пожалуйста, руководство. void exit(int code) { //This ...

1 ответ

 (не PIC, статические адреса умещаются в 32 бита)

Мало того, что этот код .SECTION .data msg: .string "AAAA" .SECTION .text .globl _start _start: mov $1, %rax mov $1, %rdi mov msg, %rsi mov $4, %rdx syscallне segfault, он также ничего не выводит.Согласно тому, что я прочитал, программа должна ...

1 ответ

Отлично! Большое спасибо!

от вопрос уже есть ответ здесь: Каждая инструкция PUSH выдвигает кратное 8 байт на x64? [/questions/40305965/does-each-push-instruction-push-a-multiple-of-8-bytes-on-x64] 2 ответаЧто является эквивалентомpushl %ecx а такжеpopl %ecx на системе ...

1 ответ

http://felixcloutier.com/x86/MOV.html

исал небольшую сборку с синтаксисом AT & T и в настоящее время объявил три переменные в.data раздел. Однако, когда я пытаюсь переместить любую из этих переменных в регистр, такой как%eax, ошибка отgcc Поднялся. Код и сообщение об ошибке ...

1 ответ

 будет означать два набора конфликтующих буферов stdio и аналогичные проблемы. Вместо этого вам нужно было бы написать 32-битные блоки управления, которые переключились обратно в длинный режим, а затем вызвали 64-битную библиотеку libc, включая необходимую перестановку параметров и результатов.

ой страницеhttp://www.x86-64.org/pipermail/discuss/2004-August/005020.html [http://www.x86-64.org/pipermail/discuss/2004-August/005020.html]Он сказал, что есть способ смешать 32-битный код и 64-битный код в приложении. Он предположил, что ...

2 ответа

Загрузка с 64-битного адреса в другой регистр, кроме rax

На x64 загрузка с 64-битного абсолютного адреса (то есть немедленное разыменование 64-битного) может быть выполнена movabs addr64, %raxТем не менее, когда регистр назначения является любым, кромеrax ассемблер выдает сообщение об ошибкеoperand ...

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 ...