Вопросы с тегом «assembly»

Вопросы программирования на ассемблере (asm). ОБЯЗАТЕЛЬНО ТАКЖЕ пометьте процессором и / или набором команд, который вы используете, а также ассемблером. ПРЕДУПРЕЖДЕНИЕ. Вместо сборок .NET используйте тег [.net-assembly]. Для Java ASM используйте тег [java-bytecode-asm].

7
Как именно работает стек вызовов?
Я пытаюсь глубже понять, как работают низкоуровневые операции языков программирования и особенно как они взаимодействуют с ОС / ЦП. Я, наверное, читал все ответы в каждой теме, связанной со стеком / кучей, здесь, на Stack Overflow, и все они великолепны. Но есть еще одна вещь, которую я еще не полностью …

5
Для чего предназначен регистр «FS» / «GS»?
Итак, я знаю, какими должны быть следующие регистры и их использование: CS = сегмент кода (используется для IP) DS = сегмент данных (используется для MOV) ES = целевой сегмент (используется для MOVS и т. Д.) SS = сегмент стека (используется для SP) Но для чего предназначены следующие регистры? FS = …

9
В каком направлении растет стек в большинстве современных систем?
Я готовлю некоторые учебные материалы на C и хочу, чтобы мои примеры соответствовали типичной модели стека. В каком направлении растет стек C в Linux, Windows, Mac OSX (PPC и x86), Solaris и самых последних версиях Unix?

23
Учебное собрание [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы на него можно было ответить с помощью фактов и цитат, отредактировав этот пост . Закрыт 3 года назад . Уточните этот вопрос Решил выучить ассемблер. Основная причина для …
102 assembly 

3
Как можно увидеть содержимое стека с помощью GDB?
Я новичок в GDB, поэтому у меня есть несколько вопросов: Как я могу посмотреть содержимое стека? Пример: чтобы увидеть содержимое реестра, я набираю info registers. Для стека что это должно быть? Как я могу увидеть содержимое $0x4(%esp)? Когда я печатаю print /d $0x4(%esp), GDB выдает ошибку. Платформа: Linux и GDB
102 c  assembly  gdb 

5
Какова функция инструкций push / pop, используемых для регистров в сборке x86?
Читая об ассемблере, я часто сталкиваюсь с людьми, которые пишут, что они нажимают определенный регистр процессора и вставляют его позже, чтобы восстановить его предыдущее состояние. Как вы можете протолкнуть регистр? Куда это подталкивают? Зачем это нужно? Сводится ли это к инструкции одного процессора или это более сложно?

7
Стоит ли учить ассемблер? [закрыто]
Закрыто. Этот вопрос не по теме . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Stack Overflow. Закрыт 9 лет назад . Уточните этот вопрос Стоит ли изучать ASM ? Я немного его знаю, но на самом деле я не использовал …

2
Как сломать инструкцию по сборке по заданному адресу в gdb?
0x0000000000400448 <main+0>: push %rbp 0x0000000000400449 <main+1>: mov %rsp,%rbp 0x000000000040044c <main+4>: mov $0x6,%eax 0x0000000000400451 <main+9>: leaveq 0x0000000000400452 <main+10>: retq Я старался: breaki 0x0000000000400448 но вроде там не такая команда. Есть ли в gdb такая возможность?
97 assembly  gdb 

14
В чем разница между словом и байтом?
Я провел небольшое исследование. Байт равен 8 битам, а слово - это наименьшая единица, которая может быть адресована в памяти. Точная длина слова варьируется. Я не понимаю, в чем смысл байта? Почему бы не сказать 8 бит? Я задал этот вопрос профессору, и он сказал, что в наши дни большинство …

5
Каково назначение регистра указателя кадра EBP?
Я новичок в ассемблере и заметил, что код x86, выдаваемый компиляторами, обычно сохраняет указатель кадра даже в режиме выпуска / оптимизации, когда он может использовать EBPрегистр для чего-то еще. Я понимаю, почему указатель кадра может упростить отладку кода и может быть необходим, если он alloca()вызывается внутри функции. Однако в x86 …

2
Неожиданное разрешение exec от mmap, когда файлы сборки включены в проект
Я бьюсь головой об стену с этим. В моем проекте, когда я выделяю память с mmapпомощью mapping ( /proc/self/maps), видно, что это читаемая и исполняемая область, несмотря на то, что я запрашивал только читаемую память. Изучив strace (который выглядел хорошо) и другие средства отладки, я смог определить единственное, что, по-видимому, …
94 c  linux  assembly  mmap 

8
Что быстрее: if (bool) или if (int)?
Какое значение лучше использовать? Логическое истина или целое число 1? Выше тема заставила меня сделать некоторые эксперименты с boolи intв ifсостоянии. Я просто из любопытства написал эту программу: int f(int i) { if ( i ) return 99; //if(int) else return -99; } int g(bool b) { if ( b …
94 c++  assembly  int  boolean 


6
Как разобрать необработанный 16-битный машинный код x86?
Я хотел бы разобрать MBR (первые 512 байт) загрузочного диска x86, который у меня есть. Я скопировал MBR в файл, используя dd if=/dev/my-device of=mbr bs=512 count=1 Есть ли предложения по утилите Linux, которая может дизассемблировать файл mbr?
91 linux  assembly  x86  x86-16  mbr 


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.