Вопросы по теме 'assembly'

Алгоритм измерения частоты процессора сборки
Какие общие алгоритмы используются для измерения частоты процессора?
11029 просмотров
schedule 19.09.2022

Какой самый быстрый способ преобразовать float в int на x86
Каков самый быстрый способ преобразования числа с плавающей запятой в int на процессоре x86? Предпочтительно в C или сборке (которая может быть встроена в C) для любой комбинации следующего: 32/64/80-битное число с плавающей запятой ->...
25749 просмотров
schedule 03.11.2022

Как сделать встроенную сборку на IPhone?
Как это делается? Какие шаги мне нужно предпринять и какие подводные камни и ловушки нужно учитывать?
13501 просмотров
schedule 05.06.2023

Как исправить ошибку -5 при передаче случайного количества байтов с помощью LIB-USB?
У меня возникла проблема с проектом USB, использующим LIB-USB . USB-устройство основано на PIC18F4550 и имеет единую конечную точку управления. Интерфейс ПК написан на MSVC и использует Lib-Usb 1.12. На стороне ПК программа начинается с...
1317 просмотров
schedule 15.07.2023

Исправление CALLL путем замены NOP работает в пространстве пользователя, но не в пространстве ядра.
У меня есть драйвер устройства, который я хочу исправить. Этот драйвер устройства вызывает IOLog, и я хочу избавиться от ведения журнала. Если я заменю CALLL на IOLog на (соответствующее количество) NOP внутри драйвера устройства (kext), ядро...
1220 просмотров
schedule 07.03.2023

Очистить старшие 16 бит в 1 инструкции ARM
В сборке ARM непосредственные элементы кодируются 8-битным повернутым значением, что означает, что мы можем только кодировать (0-256)^2n. Теперь моя проблема в том, что я хочу очистить старшие 16 бит r0 и заменить их полусловом, сохраненным в...
3715 просмотров
schedule 26.01.2023

инициализация переменных в сборке для IA-32
У меня вопрос по поводу инициализации переменных в сборке MASM. Как я могу инициализировать 2 ^ 32 для переменной и какую переменную я должен инициализировать? DWORD или REAL4? Я пытаюсь сделать это так: val DWORD 2.0E+32 Когда я...
1614 просмотров
schedule 10.04.2024

Какой самый быстрый дизайн виртуальной машины для x86?
Я буду реализовывать виртуальную машину в x86, и мне интересно, какой дизайн даст наилучшие результаты. На чем мне сосредоточиться, чтобы выдавить сок? Буду реализовывать всю виртуальную машину в сборке x86. У меня не так много инструкций, и я...
4941 просмотров
schedule 02.04.2022

Какая инструкция ветвления является правильной для ветвления, если меньше
Вчера я написал ответ на это: Какой самый крутой хак вы видели или готово? и я очень старался вспомнить свою сборку 6502, и я не мог на всю жизнь вспомнить, как разветвляться, если меньше... :1 lda $C010 cmp #$80 bcc :1 ; branch if...
5796 просмотров
schedule 08.11.2022

Как я намеренно читаю из основной памяти по сравнению с кешем?
Итак, меня учат ассемблеру, и у нас есть задание: найти разницу во времени между чтением из памяти и чтением из кеша. Мы должны сделать это, создав 2 цикла и синхронизировав их. (один читает из основной памяти, а другой из кеша). Дело в том, что я...
2057 просмотров
schedule 15.08.2022

Как работает стек на языке ассемблера?
В настоящее время я пытаюсь понять, как работает стек, поэтому решил научиться некоторому языку ассемблера , Пользуюсь этой книгой: http://savannah.nongnu.org/projects/pgubook/ Я использую Gas и занимаюсь разработкой на Linux Mint ....
129812 просмотров
schedule 17.05.2022

Для чего нужен регистр указателя кадра EBP?
Я новичок в ассемблере и заметил, что код x86, выдаваемый компиляторами, обычно сохраняет указатель кадра даже в режиме выпуска / оптимизации, когда он может использовать регистр EBP для чего-то еще. Я понимаю, почему указатель кадра может...
56571 просмотров
schedule 06.11.2022

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

Встроенная сборка GCC: перейти к маркировке внешнего блока
При использовании встроенного ассемблера в MSVC можно выйти за пределы ассемблерного блока, сославшись на метку в коде C/C++, как объяснено в этой статье MSDN . Можно ли такое сделать при использовании встроенной сборки в GCC? Вот пример того,...
12934 просмотров
schedule 04.11.2022

Как определить, кратно ли число четырем, используя только логический оператор И?
Я возился с программированием на ассемблере, и мне любопытно, как я могу определить, является ли число кратным 4, используя логический оператор AND? Я знаю, как это сделать с помощью инструкций «div» или «осталось», но я пытаюсь сделать это с...
7658 просмотров
schedule 21.02.2023

Вызов подпрограммы ассемблера в цели C
Я написал функцию nabs в файле сборки math.nasm следующим образом. %ifdef USE_x86_ASM SECTION .text cglobal nABS ;*------------------------* ;* int nABS(int a) * ;* return value in eax * ;*------------------------* ALIGN 16...
2062 просмотров
schedule 28.06.2022

пример cmpxchg для 64-битного целого числа
Я использую cmpxchg (сравнение и обмен) в архитектуре i686 для 32-битного сравнения и обмена следующим образом. (Примечание редактора: в исходном 32-битном примере были ошибки, но вопрос не в этом. Я считаю, что эта версия безопасна, и в качестве...
11287 просмотров
schedule 18.02.2024

как использовать movntdqa, чтобы избежать загрязнения кеша?
Я пытаюсь написать функцию memcpy, которая не загружает исходную память в кеш процессора. Цель состоит в том, чтобы избежать загрязнения кеша. Приведенная ниже функция memcpy работает, но загрязняет кеш, как это делает стандартная функция memcpy. Я...
4279 просмотров
schedule 29.03.2023

Вызовы Windows API из сборки с минимизацией размера программы
Я пытаюсь написать программу на ассемблере и сделать полученный исполняемый файл как можно меньше . Для некоторых из того, что я делаю, требуются вызовы API Windows для таких функций, как WriteProcessMemory. У меня был некоторый успех с вызовом...
779 просмотров
schedule 08.09.2022

Почему программисты путают термин ассемблер с ассемблером?
Как программисты, мы должны быть точными в устном и письменном общении. Почему так много программистов путают термин «ассемблер» (генератор объектного кода) с «ассемблером» (язык, на котором вы программируете)? Различие однозначное. Может ли быть...
1160 просмотров
schedule 04.05.2023