0
ответов

GBZ80: Как LD HL, (SP + e) ​​влияет на флаги H и C?

На Gameboy Z80, как именно операция LD HL, (SP + e) ​​влияет на H и флаги C? (Half-carry + carry) Ссылка: http: //www.devrs. com / gb / files / opcodes.html
вопрос задан: 1 March 2011 20:01
0
ответов

(значимая) стоимость инструкции перехода?

Извините ... (преждевременная) оптимизация - это корень всех зол, но Я хотел бы знать: насколько дороже иметь инструкцию jmp по сравнению с ее отсутствием (безветвленный код)? Мне нужна методология для ...
вопрос задан: 26 February 2011 15:42
0
ответов

проблема связывания: i386: архитектура x86-64 входного файла * .o несовместима с выходным файлом i386

У меня возникла проблема с линковкой, когда я переместил свой osdev в linux, где он раньше работал на gcc 3.5. * И binutils 2.18 (скомпилирован для вывода x86_64-elf) под управлением cygwin. Вот информация: gcc -v ...
вопрос задан: 26 February 2011 04:23
0
ответов

как считать циклы?

I ' m пытается найти относительные достоинства двух небольших функций в C. Одна добавляет по циклу, другая добавляет по явным переменным. Сами по себе функции не имеют значения, но я бы хотел, чтобы кто-нибудь ...
вопрос задан: 25 February 2011 19:06
0
ответов

Как заставить GCC помещать константы в память, а не генерировать их?

У меня есть много массивов констант, определенных в нескольких функциях. Примерно так: const float values ​​[4] = {-4312.435f, -432.44333f, 4.798, 7898.89}; После проверки вывода ассемблера gcc ...
вопрос задан: 18 February 2011 19:12
0
ответов

Какая библиотека байт-кода при управлении номерами строк?

Мне нужно сгенерировать новые классы (посредством генерации байт-кода Java) из существующих классов. Я проанализирую тело (выражения) методов класса. Выражения будут определять, какой код мне ...
вопрос задан: 18 February 2011 13:31
0
ответов

strlen in assembly

I made my own implementation of strlen in assembly, but it doesn't return the correct value. It returns the string length + 4. Consequently. I don't see why.. and I hope any of you do... Assembly ...
вопрос задан: 18 February 2011 12:51
0
ответов

Считать значение регистра в переменную с помощью одной команды asm

Как я могу прочитать значение регистра в переменную с помощью одной встроенная команда ассемблера? Я использую gcc в старой системе freeBSD (v2.1 i386). У меня есть такой код: static volatile unsigned long r_eax, r_ebx; asm ("...
вопрос задан: 18 February 2011 10:30
0
ответов

Написание JIT-компилятора на ассемблере

Я написал виртуальную машину на C, которая имеет приличную производительность для ВМ без JIT, но я хочу узнать что-то новое и улучшить производительность. Моя текущая реализация просто использует переключение на ...
вопрос задан: 17 February 2011 23:23
0
ответов

Сборка Android openssl с использованием NDK не создает файлы сборки arm4 должным образом

openssl включен в операционную систему Android, и Google также включает некоторый код ассемблера arm4 / thumb в свои сборки (aes / asm / aes-armv4. s, bn / asm / armv4-mont.s, sha / asm / sha1-armv4-large.s, sha / ...
вопрос задан: 16 February 2011 21:18
0
ответов

Получаю ли я снижение производительности при смешивании инструкций SSE integer / float SIMD

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

Загрузка констант с плавающей запятой в регистры SSE

Я пытаюсь найти эффективный способ загрузки констант времени компиляции с плавающей запятой в SSE (2 / 3) регистры. Я пробовал написать такой простой код, const __m128 x = {1.0f, 2.0f, 3.0f, 4.0f}; но это ...
вопрос задан: 15 February 2011 18:31
0
ответов

Win32 EXCEPTION_INT_OVERFLOW против EXCEPTION_INT_DIVIDE_BY_ZERO

У меня есть вопрос об исключениях EXCEPTION_INT_OVERFLOW и EXCEPTION_INT_DIVIDE_BY_ZERO. Windows перехватит ошибки #DE, сгенерированные инструкцией IDIV, и в конечном итоге сгенерирует и SEH ...
вопрос задан: 15 February 2011 01:58
0
ответов

Эквивалент int 3 на процессорах ARM / iOS

Я ищу эквивалент __asm__ int 3 для процессоров ARM / iOS, когда я отлаживаю физическое устройство. Это БКПТ? Все, что я хочу сделать, это остановить процессор, чтобы затем я мог пройти мимо или ...
вопрос задан: 13 February 2011 00:37
0
ответов

Какова цель команд поворота (ROL, RCL на x86)?

Мне всегда было интересно, для чего нужны инструкции поворота в некоторых процессорах (например, ROL, RCL на x86). Какое программное обеспечение использует эти инструкции? Сначала я подумал, что их можно использовать ...
вопрос задан: 12 February 2011 06:52
0
ответов

Выравнивание памяти G ++ SSE в стеке

Я пытаюсь переписать трассировщик лучей с помощью потоковой передачи Расширения SIMD. В моем первоначальном трассировщике лучей для загрузки данных в регистры xmm использовались инструкции встроенной сборки и movups. Я читал это ...
вопрос задан: 11 February 2011 05:03
0
ответов

In C, accessing my array index is faster or accessing by pointer is faster?

In C, accessing an array index is faster or accessing by pointer is faster? Под «быстрее» я имею в виду, что займет меньше такта. Массив не является постоянным массивом.
вопрос задан: 9 February 2011 22:33
0
ответов

Why should code be aligned to even-address boundaries on x86?

I am working through Kip Irvine's "Assembly Language for x86 Processors, sixth edition" and am really enjoying it. I have just read about the NOP mnemonic in the following paragraph: "It [NOP] is ...
вопрос задан: 5 February 2011 20:50
0
ответов

Почему LLVM добавляет две дополнительные инструкции для одной и той же программы?

Я компилирую эту программу на C и сравниваю сгенерированный ассемблерный код: int main () {return 0; } GCC предоставляет эту основную функцию (cc hello.c -S): _main: LFB2: pushq% rbp LCFI0: movq% rsp, ...
вопрос задан: 4 February 2011 23:25
0
ответов

Есть ли список устаревших инструкций x86?

Я беру урок программирования на языке ассемблера x86 и знайте, что определенные инструкции больше не следует использовать - потому что они медленны на современных процессорах; например, инструкция цикла. Я ...
вопрос задан: 4 February 2011 20:10
0
ответов

Что означает movl $ _start,% eax?

Что означает «$», за которым следует идентификатор, означает? Сборка x86, синтаксис AT&T.
вопрос задан: 3 February 2011 05:15
0
ответов

Как проверить «длину массива» на языке ассемблера (ASM),

Я только начал изучать язык ассемблера. В java, если у нас есть массив, мы всегда можем использовать array.length, чтобы получить его длину. Есть такая штука в сборке? Если да, может ли кто-нибудь направить меня сюда? ...
вопрос задан: 31 January 2011 15:34
0
ответов

Работает ли переопределение REX.B с инструкцией MOVSS?

Я генерирую следующую инструкцию для 64-битной x86: 41 F3 0F 10 46 10 movss XMM0,014h [R14] К сожалению, в этой строке обнаруживаются ошибки. GDB разбирает это как: 0x0000000000402054 <+ ...
вопрос задан: 30 January 2011 05:19
0
ответов

Сколько способов установить регистр в ноль?

Мне любопытно, сколько существует способов установить регистр в ноль в x86 сборка. Используя одну инструкцию. Кто-то сказал мне, что ему удалось найти как минимум 10 способов сделать это. Я могу вспомнить следующие: ...
вопрос задан: 28 January 2011 15:30
0
ответов

Intel 64 and IA-32 | Atomic operations including acquire / release semantic

According to the Intel 64 and IA-32 Architectures Software Developer's Manual the LOCK Signal Prefix "ensures that the processor has exclusive use of any shared memory while the signal is asserted". ...
вопрос задан: 27 January 2011 21:10
0
ответов

What C++ code compiles down to the x86 REP instruction?

I'm copying elements from one array to another in C++. I found the rep movs instruction in x86 that seems to copy an array at ESI to an array at EDI of size ECX. However, neither the for nor while ...
вопрос задан: 27 January 2011 07:57
0
ответов

сравнить два двоичных файла

Как мне различать два двоичных файла? У меня есть две версии программы, версия 1 и версия 2. Я сделал небольшое количество изменений между двумя версиями, но, к сожалению, не выполнял резервное копирование ...
вопрос задан: 24 January 2011 16:45
0
ответов

Где я могу узнать о низкоуровневой работе моего компьютера?

Я программировал уже около 11 лет и много использовал разных языков программирования от Python до C. Однако мне стыдно, что я ' m по-прежнему не хватает многих нижних -...
вопрос задан: 23 January 2011 20:34
0
ответов

Поиск STL работает лучше, чем цикл, созданный вручную

У меня есть вопрос. Учитывая следующий фрагмент кода C ++: #include #include #include <алгоритм> #include <число> #include ...
вопрос задан: 23 January 2011 20:33
0
ответов

Как преобразовать положительное число в отрицательное в сборке

Я хочу преобразовать положительное число в отрицательное в сборке, Мне нужен образец кода. Введено шестнадцатеричное sdword. Спасибо
вопрос задан: 23 January 2011 20:32