Category: Assembler

Книги по Assembler для начинающих и для продвинутых программистов онлайн

18
Окт
2021

Выполнение "UB-кода" из-за неправильного предсказания ветвления

Есть код типа такого:
if (ptr) ptr->do_something();

Из-за неудачного branch prediction CPU начал выполнять ptr->do_something(); с нулевым указателем. Что происходит в таком случае? segfault неявно подавляется? Является ли код, где U…

18
Окт
2021

Выполнение "UB-кода" из-за неправильного предсказания ветвления

Есть код типа такого:
if (ptr) ptr->do_something();

Из-за неудачного branch prediction CPU начал выполнять ptr->do_something(); с нулевым указателем. Что происходит в таком случае? segfault неявно подавляется? Является ли код, где U…

10
Окт
2021

asm aarch64 java

Как пользоваться ?
Скачал на github.com вот этот проект :
https://github.com/jnr/jnr-a64asm
Но , в нём отсутствует Main.java …
Не подскажете как подключить ?
Спасибо …

05
Окт
2021

Запись строки в память

Учусь работать с отладчиком GDB – разбираю пример простой программы на языке C. Пример из учебника, так что не ругайтесь за код. Тем более что вопрос по компиляции/ассемблеру.
#include <stdio.h>
#include <string.h>

int main( )…

03
Сен
2021

Как делать вставки на СИ в код на ассеблере?

Например я хочу написать загрузчик.
Я пока плохо понимаю ассемблер и возможно не правильно напишу, но хочется что-то типа такого.
org 7C00h

void clear()
{
__asm("
;Очищаем экран
mov ax, 3
int 10h
");
}

void init()
{
__asm(&…

15
Авг
2021

Возможно ли напрямую читать или записывать данные в ОЗУ?

Возможно ли реализовать чтение/запись данных прямиком в ОЗУ (по адресам?) в программе на Rust/Python/Ассебмлере(Aarch64) (в Linux).
P.S: не пинайте за такие вопросы, в архитектурах комплюхтеров я не разбираюсь, про google я знаю.

19
Июл
2021

Почему при сборке ядра cross-gcc странно себя ведёт?

я учусь писать систему, использую кросс-компилятор gcc. Как всегда, появилась одна большая проблема: если я в файле kernel.c создам маску символа(моя ос работает в защищённом режиме, изначально был сменён режим на графический(VGA)) в главн…

12
Май
2021

Как в C или C++ вывести круг на экране без использования библиотек?

Мне интересно как делаются GTK, Qt, wxWidgets.
Мне надо вывести круг и при щелчке на нем он закрывается на C или C++ без использования библиотек различных, то есть как это сделать на чистом C или C++?
Мне сказали, что на чистом C или C++ н…

20
Апр
2021

Объединение asm и С в один проект для AVR микроконтроллера

Доброго времени суток!
Имеется программа, написанная на asm для МК atmega328p. В ней реализована передача данных по USART и обработка данных с внешнего АЦП.
Однако появилась необходимость внедрить "С-шные вставки" в ассемблерный …

16
Мар
2021

Битовые операции на с++ с помощью __asm

Помогите не могу понять как сделать это с ассемблерной вставкой
Переписать в массив те элементы массива слова, которого имеют парную количество единичных битов в пределах от 5-го до и 10-го разрядов
.
#include<iostream>
#include&lt…

23
Фев
2021

Как правильно написать программу, которая вычисляет формулу?

Я пытался сделать программу, которая будет вычислять значение этой формулы:

(4b + c – d) (2b + 5(3c + 5a)) / (4ab + 5c – 8d)

Я попробовал написать хоть что-то, но совершенно ничего не происходит. Код — полный бред, который даже не компил…

22
Фев
2021

Assembly → c как перевести [дубликат]

Есть ассемблерский код, который я получил в IDA, мне этот код нудно превратить в с, чтобы понять содержимое, однако в моей БЕСПЛАТНОЙ версии ida, такая функция не работает, где можно скачать полную версию, или просто напрямую пересети asse…

20
Фев
2021

Что лучше выбрать для программирования микроконтроллеров C или Assembler?

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

03
Дек
2020

Решить уравнение на Ассемблере

Я использую Ассемблерную вставку на языке Си. Немного запутался в вычислениях. Вот само уравнение:
(12 / c – d * 4 + 73)/(a*a+1). Регистры нужно использовать для 16 бит. В режиме Шаг с заходом выбивает в вычислениях числителя (я указал в к…

01
Дек
2020

ASM X86, linux, открыть файл: не получается!

Господа, я пытаюсь постичь магию сисколов (syscalls).
В языке C все не очень сложно.
я попробовал сделать эту – прямо скажем – нехитрую операцию на ассемблере раза четыре. я потратил на это два дня.
я прочитал несколько советов, в в них бу…

20
Ноя
2020

Помогите решить уравнение на языке Assembler

Данные должны быть в знаковом формате, длиной в 8 бит.
Я только начал изучать ассемблер и немного запутался с регистрами в этом задании.
Ответ решения на языке ассемблер показывает, но он не совпадает с языком Си.
Сам пример: (2*c/a-d * d-…

19
Ноя
2020

Вызвано исключение по адресу (msvcp140d.dll)

Программа определяет систему счисления по префиксам если 0x или 0X, то 16 СС, так же с 2 СС. Код одинаковый для 16 СС и для 2 СС, но при переходе на метку hex вылетает исключение. Если перейти на метку bin программа работает без исключений…

14
Ноя
2020

сложение элементов массива через ассемблерные вставки

Поставили задачу написать алгоритм сложения элементов массива на asm(ассемблерные вставки на с),c#,c и сравнить время исполнения. Написал простенький код для сложения int-ов.
double __declspec(dllexport) asm_time(int* array, int N) {
i…

15
Май
2018

Не могу записать загружаемый CD

Скомпилировал ядро, но оно не грузится с диска CD-R и не грузится в VirtualBox, но всё работает в qemu, мне надо чтобы грузилось с моего CD-R, если кто-то знает помогите пожалуйста выкладываю все свои исходники:

первый файл:

;;kernel.asm…

16
Апр
2016

Можно ли на языках C/C++ определить целочисленное переполнение?

Часто в контексте безопасного программирования упоминают проблему целочисленного переполнения (integer overflow). А возможно ли отловить эту ситуацию в C/C++ коде? Ведь процессоры (по крайней мере x86) имеют среди EFLAGS флаг Overflow Flag…