0
ответов

загрузчик - переключение процессора в защищенный режим

Мне трудно понять, как простая загрузчик работает. Я говорю о загрузчике из курса MIT "Разработка операционных систем". Во-первых, позвольте мне показать вам ...
вопрос задан: 8 January 2013 10:54
0
ответов

Бесконечный цикл после завершения программы

Итак, эта программа была для присваивания. Срок сдачи прошел, и я сдал то, что у меня было, и получил хорошую оценку, но эта ошибка меня беспокоит. Технически это больше не задание, но я бы ...
вопрос задан: 23 December 2012 21:47
0
ответов

Оптимизация x64 ассемблера для цикла MUL

Я пишу математический код, который должен быстро умножать большие числа. Он разбивается на умножения массива целых чисел с одним целым числом. В C ++ это выглядит так (без знака): void ...
вопрос задан: 21 December 2012 09:16
0
ответов

GCC Inline-Assembly:вызовите dword ptr

Если у меня есть следующий код в Windows VC ++: DWORD somevar = 0x12345678; _asm call dword ptr [somevar] Как я могу сделать то же самое в GCC inline-сборке, с синтаксисом AT & T? __asm__ ...
вопрос задан: 19 December 2012 01:52
0
ответов

Как я могу распечатать содержимое стека в программе C?

Я хочу, как сказано в заголовке, распечатать содержимое стека в моей программе на C. Вот шаги, которые я предпринял: Я сделал простой файл сборки (helper.s), который включал функцию для возврата адреса ...
вопрос задан: 18 December 2012 23:32
0
ответов

Нужна помощь в расшифровке сборки GNU из программы Ada 95

Итак, мне дали программу на Ada 95 и ассемблерный код, который компилятор выплевывает вне. У меня проблемы с пониманием того, как среда компилятора / времени выполнения реализует нелокальный доступ. Мог ...
вопрос задан: 18 December 2012 23:31
0
ответов

Кроссплатформенный/архитектурный язык ассемблера

Я знаю, что язык ассемблера обычно не является кроссплатформенным. И даже с такими вещами, как NASM, вам все равно потребуется разный код для разных архитектур и платформ, которые имеют разные...
вопрос задан: 5 November 2012 07:18
0
ответов

Сборка MIPS для простого цикла for

Мне нужно перевести этот код C в сборку MIPS. Вот код на языке C: int tmp = 0; for (int j = 0; j <15; ++ j) tmp = tmp * 2 + 3 Это мой ассемблерный код MIPS. Это правильно ...
вопрос задан: 23 October 2012 14:19
0
ответов

GCC / g ++ cout << vs. printf ()

Почему printf ("привет, мир ") в конечном итоге использует больше инструкций ЦП в собранном коде (без учета используемой стандартной библиотеки), чем cout <<" hello world "? Для C ++ мы имеем: movl $ .LC0, ...
вопрос задан: 18 October 2012 05:49
0
ответов

Как объявить диапазон памяти как неисследованный с помощью GCC на платформе X86?

Хотя я прочитал по поводу инструкций Movntdqa относительно этого, но по очереди Чистый способ выразить диапазон памяти неисправностей или чтение данных, чтобы не загрязнять кэш. Я хочу сделать это ...
вопрос задан: 9 October 2012 04:54
0
ответов

Почему mov ah, bh и mov al, bl вместе намного быстрее, чем одна инструкция mov ax, bx?

Я обнаружил, что mov al, bl mov ah, bh намного быстрее, чем mov ax, bx Кто-нибудь может мне объяснить, почему? Я использую Core 2 Duo 3 Ghz в 32-битном режиме под Windows XP. Компиляция с использованием NASM, а затем ...
вопрос задан: 7 October 2012 04:26
0
ответов

Почему регистры Intel x87 имеют ширину 80 бит? [закрыто]

Почему использование столь «странного» размера регистра? Любая документация о том, почему не желательно использовать 64 или 128 бит для этих регистров?
вопрос задан: 27 September 2012 16:39
0
ответов

реализовать 64 -битную арифметику на 32 -битной машине

Следующий код вычисляет произведение x и y и сохраняет результат в памяти. Данные тип ll _t определяется как эквивалентный long long. typedef long long ll _t; void store _prod (ll _t *dest, int x,...
вопрос задан: 25 September 2012 22:57
0
ответов

Обращение строки в сборке MIPS

Я пытаюсь запросить у пользователя длину строки, выделить место для этой строки, а затем распечатать ее в обратном порядке. Да хоть убей, я не могу понять, почему это не работает .. Пример вывода: ...
вопрос задан: 25 September 2012 18:45
0
ответов

Преобразование десятичного числа в шестнадцатеричное

Во-первых, это домашнее задание. Я пытаюсь прочитать 5-значное число в регистре bx. Предполагается, что число не превышает 65535 (16 бит). Ниже я пытаюсь это сделать. Однако ...
вопрос задан: 23 September 2012 01:52
0
ответов

Реализация поворота влево с использованием операций AND, NOT и ADD

Я реализую 16-битный сдвигатель для поворота битов влево на r. У меня есть доступ только к операциям AND, NOT и ADD. Есть 3 кода условий: отрицательный, нулевой и положительный, которые установлены ...
вопрос задан: 19 September 2012 22:00
0
ответов

Что считается хорошей практикой кодирования в «реальных» ситуациях?

Я только что перевелся из колледжа в университет, и кажется, что все, что я знаю о правильной технике кодирования, неверно. Способ, которым я научился делать код читабельным, заключался в том, чтобы сделать код с отступом в теле...
вопрос задан: 19 September 2012 02:01
0
ответов

Необходимо использовать переполнение буфера. Не можете понять, как восстановить стек после выполнения кода эксплойта?

В основном я использую следующую функцию: int getbufn () {char buf [512]; Получает (buf); return 1; } Когда я запускаю основную программу, функция выполняется 5 раз, и каждый раз ...
вопрос задан: 18 September 2012 16:59
0
ответов

Оптимизируйте этот ассемблерный код

Я сейчас изучаю курс компьютерной архитектуры, и мы рассматриваем основные инструкции R-типа и I-типа (также это архитектура RISC) и т. Д. Кажется, я не понимаю, как это оптимизировать ...
вопрос задан: 18 September 2012 16:56
0
ответов

Доступ к языку ассемблера из C ++

Это мое задание по программированию. Мне нужно найти самый большой среди массива целых чисел с помощью метода, написанного на языке программирования 8086. Это моя попытка: #include ...
вопрос задан: 16 September 2012 23:48
0
ответов

Оптимизация этого кода C (AVR)

У меня есть обработчик прерывания, который просто не работает достаточно быстро для того, что я хочу сделать. В основном я использую его для генерации синусоид, выводя значение из таблицы поиска в ПОРТ на AVR ...
вопрос задан: 16 September 2012 22:34
0
ответов

x86_64: Возможна ли «прямая замена» ссылок PLT/GOT?

Я не уверен, что это хорошая тема для этого вопроса, но здесь мы идем ... Чтобы обеспечить локальность/компактность кода для критической части кода, я ищу способ вызвать функция ...
вопрос задан: 16 September 2012 18:58
0
ответов

Что делает функция CallerAddr DUnit2 и как преобразовать ее в 64-битную?

Я пытаюсь заставить DUnit2 работать под 64-битной системой, но я не понимаю, что делает этот метод, не говоря уже о том, как преобразовать его в 64-битную версию. Чистый Паскаль был бы лучше, но поскольку он ссылается на стек (ebp ), он...
вопрос задан: 20 August 2012 15:54
0
ответов

Как изменить инструкцию в шестнадцатеричном редакторе?

Я возился с некоторым обратным проектированием, но я не знаю, как изменить jnz на jz с помощью шестнадцатеричного редактора.Я понимаю, что это зависит от системы, но я не уверен, где искать это...
вопрос задан: 20 August 2012 14:07
0
ответов

Пользовательский обработчик SEH с /SAFESEH

В настоящее время я пытаюсь создать компилятор на C++, который генерирует машинный код во время выполнения. Однако в настоящее время я пытаюсь включить безопасную обработку исключений (при компиляции с /SAFESEH ). Мой обычай...
вопрос задан: 18 August 2012 21:43
0
ответов

почему оптимизация clang нарушает мой встроенный ассемблерный код?

В попытке узнать что-то о сборке ARM я написал простой тестовый проект для выполнения уменьшения масштаба изображения с использованием встроенной сборки и инструкций NEON. вы можете увидеть это здесь :https ://github....
вопрос задан: 16 August 2012 18:03
0
ответов

Петля сборки ARM

для (int i = 0; я < 10000; i++ )a[i] = b[i] + c[i] Как выглядит сборка ARM для этого языка высокого уровня? Изменить :Я также предполагаю, что базовый адрес A находится в R8, базовый адрес...
вопрос задан: 16 August 2012 02:32
0
ответов

Если единственная разница между 32-битными и 64-битными процессорами заключается в размере их регистров, то почему 32-битные программы должны быть переписаны для 64-битной платформы?

Какова фактическая разница с точки зрения исходного кода при написании 64-битной программы? Например отличается только сборка? Не похоже, что есть 64-битная версия C++. Если это что-то вроде...
вопрос задан: 15 August 2012 07:33
0
ответов

язык ассемблера в os x

Я использовал ассемблер шаг за шагом, чтобы изучить программирование на ассемблере в Linux. Недавно у меня появился Mac, на котором int 0x80, похоже, не работает (незаконная инструкция). Так что просто хотел знать ...
вопрос задан: 14 August 2012 13:53
0
ответов

Как мне приступить к написанию собственной мобильной ОС для процессоров ARM?

Я заинтересован в создании собственной мобильной ОС. Я читал, что существующие мобильные ОС работают на процессорах ARM и используют их язык ассемблера, тогда как настольные ОС, такие как Linux и Windows, написаны на ассемблере. ...
вопрос задан: 10 August 2012 23:43