Главная » Архив меток: Assembler

Архив меток: Assembler

Низкоуровневый взлом банкоматов NCR

0 Изображение: Sascha Kohlmann, CC BY-SA 2. И разработчики таких систем наивно полагают, что они защищены от проникновения и зорких глаз исследователей. Существуют системы, доступа к которым у простых смертных нет по умолчанию. Нередки случаи, когда к АТМ подходят неизвестные, подключают ноутбук, забирают деньги и уходят, не оставляя каких-либо логов в системе. Взять хотя бы банкоматы (АТМ). А недавние истории ...

Читать далее »

Ретро-разработка для первой портативной консоли из далекого 1979 года

И тут началось.Из-за дешевизны и самодостаточности микроконтроллеров (тогда они назывались прямо — однокристальный микрокомпьютер), потребительские электронные устройства резко поумнели, а их количество росло как никогда раньше. В 1974 году Texas Instruments выпускает первые 4-битные микроконтроллеры семейства TMS1000, а Intel в 1976 начинает производство 8-битных микроконтроллеров своей известной серии MCS-48. Среди всего этого многообразия ранних игр, выделялась одна, о которой я ...

Читать далее »

[Перевод] Создание эмулятора аркадного автомата. Часть 2

Первая часть здесь. Знакомство Нам понадобится информация об опкодах и соответствующих им командах. Когда вы будете искать информацию в Интернете, то заметите, что есть много перемешанных сведений о 8080 и Z80. Процессор Z80 был последователем 8080 — он выполняет все инструкции 8080 с теми же hex-кодами, но также имеет и дополнительные инструкции. Думаю, пока вам стоит избегать информации о Z80, ...

Читать далее »

[Перевод] Создание эмулятора аркадного автомата. Часть 1

Написание эмулятора аркадного автомата — это замечательный учебный проект, и в этом туториале мы очень подробно рассмотрим весь процесс разработки. Хотите по-настоящему разобраться в работе процессора? Тогда создание эмулятора — наилучший способ его изучения. Если вы не знаете язык ассемблера, то написание эмулятора — лучший способ освоить его. Вам потребуется знание C, а также пригодится знание ассемблера. Я расскажу и ...

Читать далее »

Как сжать загрузчик для STM8 до размера 8 байт в памяти FLASH

Со времени написания предыдущей статьи ” Как сжать загрузчик для STM8 до размера 18 байт в памяти FLASH” появились две версии загрузчика STM8uLoader . Загрузчик STM8uLoader версии $36 научился передавать управление прикладной программе по любому адресу в памяти RAM без участия хост-программы. Размер 18 байт загрузчика в памяти FLASH не изменился, в области OPTION Bytes размер увеличился до 53 байта ...

Читать далее »

Почти все, что вы хотели знать про плавающую точку в ARM, но боялись спросить

Привет, Хабр! В этой статье я хочу рассказать про работу с плавающей точкой для процессоров с архитектурой ARM. Думаю, эта статья будет полезна прежде всего тем, кто портирует свою ОС на ARM-архитектуру и при этом им нужна поддержка аппаратной плавающей точки (что мы и делали для Embox, в котором до этого использовалась программная реализация операций с плавающей точкой). Итак, приступим. ...

Читать далее »

[Из песочницы] Ускоряем умножение матриц float 4×4 с помощью SIMD

Уже немало лет прошло, как я познакомился с инструкциями MMX, SSE, а позже и AVX на процессорах Intel. В своё время они казались какой-то магией на фоне x86 ассемблера, который уже давно стал чем-то обыденным. Они меня настолько зацепили, что пару лет назад у меня появилась идея написать свой собственный софт рендерер для одной известной игры. Сподвигло меня на это ...

Читать далее »

Ускорение конкатенации строк в Go своими руками

Причём для этого нам не нужно будет модифицировать сам Go, всё это будет реализованно в виде сторонней библиотеки. Сегодня мы будем разгонять склеивание коротких строк в Go на 30%. Под катом вас ждут: Сравнение +, strings.Builder и собственной функции конкатенации Детали внутреннего устройства строк в Go Совсем немного ассемблера Идеи по улучшению этого change list'а приветствуются. Данную статью можно также ...

Читать далее »

Запускаем ReactOS с BTRFS раздела

Привет, Хабр! Сегодня я расскажу немного о том, что я делаю в рамках стажировки. Меня зовут Виктор, и в этом году я единственный студент в программе Google Summer of Code на проекте ReactOS. Этой весной я решил что пора начать исправлять эту ситуацию, и подал заявку на GSoC. ReactOS поддерживает кучу всяких разных файловых систем для чтения и записи (fat32, ...

Читать далее »

Реверсим «Нейроманта». Часть 3: Добили рендеринг, делаем игру

Привет, это уже третья часть из серии моих публикаций, посвящённых обратной разработке «Нейроманта» — видеоигрового воплощения одноимённого романа Уильяма Гибсона. Часть 1: СпрайтыРеверсим «Нейроманта». Реверсим «Нейроманта». Часть 2: Рендерим шрифт Дело в том, что большая часть того, о чём здесь рассказано, было готово ещё во время написания предыдущей. Эта часть может показаться несколько сумбурной. Но уж как есть, поехали. Поскольку ...

Читать далее »