Лучшие assembly вопросы ИТ разработчиков

  • 3 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Написание батутной функции

Мне удалось перезаписать первые несколько байтов функции в памяти и перейти к моей собственной функции. Теперь у меня проблемы с созданием функции батута, чтобы вернуть управление обратно в реальную функцию. Это вторая часть моего ...

Задан 11 Nov 2011, 20:38 от Adam
  • 2 голосов
  • 0 ответов
  • 0 просмотров
0 ответов

Что именно делает инструкция lb?

Я готовлюсь к экзамену, и одной из проблем практики было: Предположить, что$t0 содержит значение0x12121212 а также$t1 содержит адрес0x1000000. Предположим, что данные памяти, начиная с адреса0x1000000 является:88 77 66 55. Какова будет ...

Задан 12 Feb 2013, 15:50 от Daniel
  • 1 голос
  • 0 ответов
  • 0 просмотров
0 ответов

printf float в сборке nasm 64-битный

Я хочу напечатать значение с плавающей запятой с помощью printf global main extern printf section .data string: db `%f\n`, 0 section .bss rs: resq 1 [...] movq xmm0, [rs] mov rdi, string mov rax, 0 call printfrs содержит плавающее значение ...

Задан 15 Dec 2013, 12:59 от user2798943
  • 23 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Действительно, функциональность была вновь введена в XCode - почти два года спустя.

я проблемы с поиском информации о новом макете XCode. Как я могу посмотреть дизассемблирование моего исходного файла, а не только код C ++?

Задан 12 Mar 2011, 04:00 от Promit
  • 13 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Применимо ли неопределенное поведение к ассемблерному коду?

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

Задан 01 Mar 2016, 18:31 от Eloff
  • 17 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Принудительный компоновщик GNU для генерации 32-битных исполняемых файлов ELF

Привет я в настоящее время генерирую сборку x86 для компилятора, который я пишу, и у меня возникли некоторые проблемы при связывании файла на моей 64-битной виртуальной машине (код ассемблера 32-битный). Я смог собрать объектный файл нормально с ...

Задан 14 Apr 2013, 20:52 от Hunter McMillen
  • 1 голос
  • 3 ответа
  • 0 просмотров
3 ответа

выполнение кода x86 после вызова / возврата / jmp и т. д.?

Я надеюсь, что этот вопрос не глупый, потому что он может показаться очевидным. Поскольку я немного исследую переполнения буфера, я наткнулся на простой вопр...

Задан 10 Aug 2016, 19:55 от Jo Se
  • 8 голосов
  • 5 ответов
  • 0 просмотров
5 ответов

Оптимизация преобразования RGBA8888 в RGB565 с помощью NEON

Я пытаюсь оптимизировать преобразование формата изображения на iOS с помощью набора векторных инструкций NEON. Я предположил, что это будет соответствовать этому, потому что он обрабатывает кучу похожих данных. Однако мои попытки не увенчались ...

Задан 10 Oct 2011, 00:49 от Andrew Pouliot
  • 30 голосов
  • 6 ответов
  • 0 просмотров
6 ответов

Современная x86 модель стоимости

Я пишу JIT-компилятор с бэкэндом x86 и изучаю ассемблер x86 и машинный код на ходу. Я использовал ARM ассемблер около 20 лет назад, и меня удивляет разница в стоимости моделей между этими архитектурами. В частности, доступ к памяти и ответвления ...

Задан 31 Mar 2012, 15:01 от Jon Harrop
  • 1 голос
  • 0 ответов
  • 0 просмотров
0 ответов

Masm32, вызывающий стандартный вывод, не дает никакого вывода

Я использую masm32 для компиляции и ссылки на Windows 7, которая прекрасно работает с приведенным ниже кодом. Однако вызов stdOut не просто печатает что-либо в моей командной строке. Что я делаю неправильно? .386 .model flat, stdcall option ...

Задан 02 Oct 2013, 19:01 от Matze
  • 5 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Это было для классического Hello World, как и в c с printf.

жание вступлениеКодСборка и запускРазнообразныйВопрос1. Введение Это не вопрос сам по себе (хотя он и есть внизу), а приложение HelloWorld, с которым люди в StackOverflow могут экспериментировать. Когда я впервые пытался программировать в ...

Задан 31 Dec 2010, 05:33 от Zimm3r
  • 3 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Прерывания, указатель инструкций и очередь инструкций в 8086 году

Предположим, что внешний запрос прерывания сделан на 8086. Процессор будет обрабатывать прерывание после завершения текущей выполняемой инструкции (если есть...

Задан 23 May 2014, 21:13 от GLES
  • 1 голос
  • 1 ответ
  • 0 просмотров
1 ответ

ASM: записать команду перехода в двоичный файл x86-64

Я отлаживаю 64-битное приложение Mac OSX с помощью GDB. Я вижу, что перепрыгивание через кусок кода решает все мои проблемы. Но: Как я могу исправить исполняемый файл для реализации перехода? Я хочу, чтобы приложение автоматически переходило к ...

Задан 17 Feb 2013, 13:46 от John White
  • 4 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Количество выполненных Инструкций отличается для программы Hello World Nasm Assembly и C

У меня есть простой отладчик (с помощью ptrace:http://pastebin.com/D0um3bUi) подсчитать количество инструкций, выполненных для заданной входной исполняемой п...

Задан 04 Feb 2016, 18:29 от crackerplace
  • 2 голосов
  • 0 ответов
  • 0 просмотров
0 ответов

Ошибка встроенной сборки GCC: ошибка: нежелательная `(% esp) 'после выражения

Ошибка встроенной сборки GCC: Ошибка: нежелательная `(% esp) ' после выражения I 'изучаю встроенную сборку gcc. Моя среда - Win 7 32bit, mingw-gcc 4....

Задан 13 Dec 2012, 08:29 от farta
  • 6 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Как связать два исходных файла NASM

У меня есть файл, который определяет очень основные функции ввода-вывода, и я хочу создать другой файл, который использует этот файл. Есть ли способ связать эти два файла? prints.asm: os_return: ;some code to return to os print_AnInt: ;some ...

Задан 18 Nov 2011, 18:14 от meltuhamy
  • 101 голос
  • 5 ответов
  • 0 просмотров
5 ответов

Почему скаляр SSE sqrt (x) медленнее, чем rsqrt (x) * x?

Я профилировал некоторые наши основные математические расчеты на Intel Core Duo, и, глядя на различные подходы к квадратному корню, я заметил кое-что странное: используя скалярные операции SSE, быстрее получить взаимный квадратный корень ...

Задан 06 Oct 2009, 23:45 от Crashworks
  • 3 голосов
  • 0 ответов
  • 0 просмотров
0 ответов

Запись в файл на ассемблере

Мне поручено создать программу, которая записывала бы некоторую строку в файл. До сих пор я придумал это:

Задан 09 Apr 2015, 17:24 от Marek M.
  • 6 голосов
  • 8 ответов
  • 0 просмотров
8 ответов

Как представить шестнадцатеричное значение, например FFFFFFBB, в программировании на x86-сборке?

Я изучаю программирование встроенной сборки x86. Я хотел написатьmov ecx, FFFFFFBB, однако компилятор не распознает его. Как должны быть записаны шестнадцатеричные числа в коде встроенного ассемблера?

Задан 31 Jul 2012, 05:34 от Arcytoi
  • 1 голос
  • 2 ответа
  • 0 просмотров
2 ответа

Любой способ переместить 2 байта в 32-битной x86, используя MOV, не вызывая переключения режима или остановки процессора?

Если я хочу переместить 2 неподписанных байта из памяти в 32-разрядный регистр, могу ли я сделать это с помощью

Задан 26 Oct 2012, 17:01 от Tyler Durden
  • 4 голосов
  • ответ
  • 0 просмотров
ответ

Вы можете иметь только 1 16-битный операнд для максимального размера инструкции в 3 байта на 6502. А условные ветви не имеют длинной версии, поэтому они всегда имеют размер 2 байта.

трел на различные инструкции по сборке, и я не понимаю, как определяется длина различных операндов и кодов операций. Это то, что выдолжен узнать из опыта, или есть способ узнать, какая комбинация операнд / оператор занимает сколько ...

Задан 31 Dec 2010, 03:33 от user277465
  • 8 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Когда использовать ограничение earlyclobber в расширенной встроенной сборке GCC?

Я понимаю, когда следует использовать список сапожников (например, перечислять регистр, который изменен в сборке, чтобы его нельзя было выбрать для использования в качестве входного регистра, и т. Д.), Но я не могу обернуть голову вокруг ...

Задан 04 Apr 2013, 19:14 от Vilhelm Gray
  • 2 голосов
  • 0 ответов
  • 0 просмотров
0 ответов

Почему gcc генерирует дополнительный обратный адрес?

В настоящее время я изучаю основы сборки и столкнулся с чем-то странным, глядя на инструкции, сгенерированные gcc (6.1.1).Вот источник:

Задан 05 Aug 2016, 04:27 от Dexter Gerig
  • 1 голос
  • 2 ответа
  • 0 просмотров
2 ответа

Как выйти из цикла в сборке

У меня есть цикл с парой условий, что означает, что когда цикл завершится, он продолжит проходить через оставшийся сегмент цикла. Как я могу заставить программу пропускать оставшийся сегмент цикла, даже если ecx уже равен 0?

Задан 16 Oct 2011, 03:50 от xboxmods
  • 17 голосов
  • 0 ответов
  • 0 просмотров
0 ответов

 были все операции домена вектора-int. То же самое для современных процессоров AMD.

ольно часто использовал инструкции x86 SIMD (SSE1234) в виде встроенных функций. Что меня огорчило, так это то, что в SSE ISA есть несколько простых инструкций, которые доступны только для чисел с плавающей запятой или только для целых чисел, но ...

Задан 14 Feb 2011, 19:28 от user283145
  • 9 голосов
  • 6 ответов
  • 0 просмотров
6 ответов

И быстрее, чем целочисленная операция по модулю?

Можно повторно выразить: якак: я & (м-1)где, я целое число без знакам является степенью 2У меня такой вопрос: быстрее ли операция AND? Разве современные процессоры не поддерживают целочисленные модули в аппаратном обеспечении в одной ...

Задан 06 Oct 2011, 16:11 от user48956
  • 2 голосов
  • 1 ответ
  • 0 просмотров
1 ответ

Каково реальное значение слова $$ в насме?

$$ определяется как адрес текущего сегмента в NASM. Но в чем реальный смысл этого? Я написал дваasm файлы для проверки: a.asm extern another [section .text] global _start _start: mov ebx, $$ call another b.asm [section .text] global another ...

Задан 18 Feb 2013, 02:46 от Searene
  • 29 голосов
  • 2 ответа
  • 0 просмотров
2 ответа

Что произойдет, если вы используете 32-битный int 0x80 Linux ABI в 64-битном коде?

int 0x80 в Linux всегда вызывает 32-битный ABI, независимо от того, из какого режима он вызывается: args inebx, ecx, ... и номера системных звонков от/usr/include/asm/unistd_32.h. (Или вылетает на 64-битных ядрах, скомпилированных ...

Задан 07 Sep 2017, 04:20 от Peter Cordes
  • 19 голосов
  • 0 ответов
  • 0 просмотров
0 ответов

Инструкция предварительной выборки

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

Задан 26 Jun 2010, 06:06 от Karthik Balaguru
  • 5 голосов
  • 0 ответов
  • 0 просмотров
0 ответов

Программирование с нуля

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

Задан 14 Aug 2011, 21:47 от Kevin
  • 1 голос
  • 1 ответ
  • 0 просмотров
1 ответ

исходный BYTE «Это исходная строка», 0 target BYTE SIZEOF source DUP (0), 0

На что ссылается РАЗМЕР? Это относится к размеру источника (lengthOf * TYPE, который равен числу элементов в массиве * размер каждого элемента)? Кроме того, ...

Задан 05 Oct 2016, 00:45 от jackson blackson
  • 11 голосов
  • ответ
  • 0 просмотров
ответ

Как преобразовать 32-битную встроенную сборку gcc в Linux в 64-битный код? [закрыто]

Я пытаюсь конвертироватьRR0D Rasta Ring 0 Отладчик из 32-битного режима в 64-битный режим (длинный режим) в Linux, используя gcc. Я знаком с 32-битной сборко...

Задан 14 Aug 2012, 09:00 от 19 revsnrz
  • 68 голосов
  • 0 ответов
  • 0 просмотров
0 ответов

C ++: таинственно огромное ускорение от сохранения одного операнда в регистре

Я пытался получить представление о влиянии массива в кеше L1 на память путем синхронизации процедуры, которая масштабирует и суммирует элементы массива, используя следующий код (я знаю, что я должен просто масштабировать результат с помощью ' a ...

Задан 27 Mar 2013, 17:27 от Sam Manzer
  • 8 голосов
  • 0 ответов
  • 0 просмотров
0 ответов

на некоторых машинах есть счетчики попаданий в кэш, которые одинаково хорошо работают

перационной системы возможно определить, находится ли страница памяти в DRAM или в разделе подкачки; например, просто попробуйте получить к нему доступ, и если произошла ошибка страницы, это не так. Однако возможно ли то же самое с кешем ...

Задан 25 Mar 2009, 19:13 от Mike A
  • 1 голос
  • 3 ответа
  • 0 просмотров
3 ответа

Как зациклить на ассемблере

Как бы я вычислил первые 12 значений в последовательности чисел Фибоначчи и смог бы поместить их в EAX reg. и отображать вызов DumpRegs? Используя косвенную адресацию, я знаю, что здесь нужен цикл for, но я не уверен, как это сделать. Любая ...

Задан 28 Nov 2011, 19:24 от TMan
  • 110 голосов
  • 40 ответов
  • 0 просмотров
40 ответов

Как я могу собрать небольшую операционную систему на старом настольном компьютере? [закрыто

Это может быть напрасно, так как я знаю, что написание операционной системы невыносимо сложно (особенно для него самого). Я не собираюсь строить следующий Linux или Windows. Я знаю, это будет ужасно, с ошибками и не сработает, но это ...

Задан 03 Aug 2009, 21:01 от Carson Myers
Page 1 of 28
1 2 3 4 5