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

0 ответов

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

мер, нажатие клавиши на клавиатуре вызывает генерацию аппаратного прерывания для ЦПУ, ЦП посылает подтверждение контроллеру прерываний. На этапе обработки прерываний, как процессор узнает, какую подпрограмму обработки прерываний запустить, ...

1 ответ

Вот

трю на написание JIT-компилятора для виртуальной машины, над которой я недавно работал. Я немного знаю ассемблер, (я в основном программист на Си. Я могу читать большинство ассемблеров со ссылками на коды операций, которые я не понимаю, и пишу ...

3 ответа

stackoverflow.com/questions/50657795/...

тветствии с Руководством разработчика программного обеспечения для архитектуры Intel 64 и IA-32 префикс сигнала LOCK «обеспечивает исключительное использование процессором какой-либо общей памяти при получении сигнала». Это может быть в виде ...

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

3 ответа

Обратите внимание, что элемент 4: «Эксплойт должен успешно влиять на эту косвенную ветвь, чтобы спекулятивно ошибочно прогнозировать и выполнять гаджет. Этот гаджет, выбранный эксплойтом, пропускает секретные данные через побочный канал, как правило, из-за тайминга».

редотвращения раскрытия памяти ядра или кросс-процесса (привидение [https://spectreattack.com/spectre.pdf]атака),$3привидение4$ [https://lkml.org/lkml/2018/1/3/780], -mindirect-branch=thunk-extern представилgcc выполнять косвенные вызовы через ...

7 ответов

более сложные комбинации:

нтересно, сколько существует способов установить регистр в ноль в сборке x86. Используя одну инструкцию. Кто-то сказал мне, что ему удалось найти как минимум 10 способов сделать это. Те, о которых я могу думать, являются: xor ax,ax mov ax, 0 ...

1 ответ

Не удается прочитать сектора диска на языке ассемблера

Я пытаюсь прочитать сектора диска с помощью следующего кода: disk_load : push dx mov ah , 0x02 ; BIOS read sector function mov al , dh ; Read DH sectors(dh is initialized before calling the routine) mov ch , 0x01 ; mov dh , 0x00 ; Select head 0 ...

2 ответа

, никогда

ичок в программировании сборки x86_64. Я писал простую программу "Hello World" в сборке x86_64. Ниже мой код, который прекрасно работает. global _start section .data msg: db "Hello to the world of SLAE64", 0x0a mlen equ $-msg section .text ...

1 ответ

 :) ...

я есть переменная, которая называетсяaverage и в моемDATASEG, он меняется каждый раз, потому что пользователь вводит разные данные каждый раз. Что я хочу сделать, это перейти в графический режим (VGA), а затем распечатать там Ваше среднее ...

2 ответа

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 содержит плавающее значение ...

3 ответа

Я бы посмотрел книгу восторга хакеров для такого рода вещей. У меня нет своей копии, но независимо от этого, если вы посмотрите на свой делитель 192, то есть 0xC0, так что вы можете разделить верх и низ на 0x40, смещение 8000 >> 6 = 125. 8000/192 -> 125 / 3, но тогда вы должны сделать это делить на 3. Мы знаем, что ответ будет где-то между 125/2 и 125/4. С этими конкретными числами 125 равно 0x7d или b1111101, что в 3 раза больше b100000 + 11101, что (3 раза по 0x20) + (3 раза по 8) + 5, поэтому 125/3 = 0x20 + 0x8 + (5/3) и 5/3 равно быстро определяется как больше 1, но меньше 2, так что 0x28 + 1 = 41. Сдвиг продолжает уменьшаться только в том случае, если битовая комбинация делителей продолжает появляться в верхних битах битовой комбинации числителя. Я не знаю, что восхищают хакеры или другие подобные источники говорят по этому поводу, я просто случайно заметил этот шаблон для этих конкретных чисел.

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