Результаты поиска по запросу "assembly"
Ссылка на содержимое ячейки памяти. (режимы адресации x86)
У меня есть место в памяти, содержащее символ, который я хочу сравнить с другим символом (и он не на вершине стека, поэтому я не могу простоpop Это). Как мне сослаться на содержимое ячейки памяти, чтобы я мог ее сравнить? В основном, как мне ...
Как я могу собрать небольшую операционную систему на старом настольном компьютере? [закрыто
Это может быть напрасно, так как я знаю, что написание операционной системы невыносимо сложно (особенно для него самого). Я не собираюсь строить следующий Linux или Windows. Я знаю, это будет ужасно, с ошибками и не сработает, но это ...
llvm сообщает: неподдерживаемый встроенный asm: ввод с типом 'void *', совпадающий с выводом с типом 'int'
У меня есть следующий встроенный код сборки: int get_year(int a, int *b, char * c) { int ret, t1, t2; asm ( "addl %3, %[a] \n\t" "movl %[a], %[t1] \n\t" "movl $58, %%edx \n\t" "movb %%dl, 0x04(%1) \n\t" : [t1] "=r" (t1), "=&D" (t2) : [a] "r" ...
Почему параметры хранятся в регистрах, а не в стеке в сборке x86-64?
В сборке x86-32 параметры хранятся в стеке, но в x86-64 параметры сохраняются в регистрах. Что является причиной этого
Блокирует манипулирование памятью с помощью встроенной сборки
Я новичок в низкоуровневых вещах, поэтому совершенно не понимаю, с какими проблемами вы можете столкнуться там, и я даже не уверен, правильно ли я понимаю термин «атомарный». Прямо сейчас я пытаюсь сделать простые атомарные блокировки вокруг ...
Самый быстрый способ сделать горизонтальную векторную сумму с плавающей точкой на x86
У тебя есть вектор из трех (или четырех) поплавков. Какой самый быстрый способ их сложить? SSE (movaps, shuffle, add, movd) всегда быстрее, чем x87? Стоят ли инструкции горизонтального добавления в SSE4.2? Сколько стоит перейти на FPU, затем ...
Какой сегментный регистр используется по умолчанию?
Я изучаю компьютерную архитектуру из Руководства Intel. Я понимаю, что инструкции, которые мы даем, являются логическими адресами, которые состоят из селектора сегмента и смещения. Это в основномCS register<<4 + offset.Segment Selector ...
Корень куба на x87 FPU с использованием метода Ньютона-Рафсона
Я пытаюсь написать программу сборки с использованием процессора 8086, которая найдет корень куба числа. Очевидно, я использую плавающие точки. Алгоритм, основанный на Метод ...
x86_64: IMUL быстрее, чем 2x SHL + 2x ADD?
Когда вы смотрите на сборку, созданную Visual Studio (2015U2) в/O2 режиме @ (релиз) я увидел, что этот «оптимизированный вручную» фрагмент кода C переводится обратно в умножение: int64_t calc(int64_t a) { return (a << 6) + (a << 16) - a; ...
80x86 16-битный asm: lea cx, [cx * 8 + cx] вызывает ошибку на NASM (компиляция файла .com)
Ошибка, которую выдает NASM (несмотря на мою работающую ОС), - «неверный эффективный адрес». Теперь я видел много примеров того, как использовать LEA, и я думаю, что понял это правильно, но мой NASM не любит это. Я пыталсяlea cx, [cx+9] и ...