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

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

[Перевод] Два Z80 на одну машину: чем отличались 8-битные аркадные автоматы от домашних компьютеров?

Что я узнал об аркадном автомате Bomb Jack в процессе создания его эмулятора Недавно я написал небольшой эмулятор автомата Bomb Jack, в основном для того, чтобы разобраться, чем эти первые 8-битные аркадные автоматы отличались по конструкции от 8-битных домашних компьютеров. Обычным летним днём, потратив весь свой запас монет на аркадные автоматы, я возвращался домой, и голова моя была заполнена цветами ...

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

Ядра процессора или что такое SMP и с чем его едят

Введение Доброго времени суток, сегодня хотелось бы затронуть достаточно простую тему, которая почти никем из обычных программистов неизвестна, но каждый из вас, скорее всего, ей пользовался.Речь пойдет о симметричной мультипроцессорности(в народе — SMP) — архитектура, которая встречается во всех многозадачных операционных системах, и конечно же, является неотъемлемой их частью. Каждый знает, что чем больше ядер у процессора — тем мощнее ...

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

Написание собственной работоспособной ОС за пол года

Предыстория Здравствуйте! Всех категорически приветствую, сегодня хотел бы рассказать Вам о своём опыте написание работоспособной ОС под архитектуру x86.Как-то весенней ночью у меня родилась гениальная идея — попробовать себя в написании собственной ОС, которая может позволить запускать программы, работать с устройствами, да и в общем выжимать всю мощь из Intel'овской архитектуры в своих нуждах: к примеру, для своей фабрики или ...

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

[Из песочницы] EHCI по-людски на русском языке

Введение Всех приветствую. Сегодня хочу поделиться опытом и всё-таки по-моему внятно объяснить про такой, на первый взгляд, простой стандарт для USB 2.0 хост-контроллера. 0 порт — это всего лишь 4 пина, по двум из которых просто передаются данные(Как, к примеру, COM-порт), но самом деле всё не так, и даже совсем наоборот. Изначально можно представить себе что USB 2. EHCI — ...

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

Как написать на ассемблере программу с перекрываемыми инструкциями (ещё одна техника обфускации байт-кода)

Эта техника способна противостоять как статическому, так и динамическому анализу байт-кода. Представляем вашему вниманию технику создания ассемблерных программ с перекрываемыми инструкциями, – для защиты скомпилированного байт-кода от дизассемблирования. Мы для этого берём многобайтовые ассемблерные инструкции, и прячем защищаемый код в изменяемых частях байт-кода этих инструкций. Идея состоит в том, чтобы подобрать такой поток байтов, при дизассимблировании которого начиная с двух ...

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

Пропихиваем параметры в небезопасные операции в безопасном коде

Всем привет. В этот раз продолжаем смеяться над нормальным вызовом методов. Предлагаю ознакомится с вызовом метода с параметрами без передачи параметров. Также попробуем преобразовать ссылочный тип в число — его адрес, без использования указателей и unsafe кода. Дисклеймер Прежде, чем приступить к повествованию, настоятельно рекомендую ознакомиться с предыдущим постом про StructLayout, т.к. вещи, оговоренные там, здесь повторяться не будут. Также ...

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

[Перевод] Руководство по ассемблеру x86 для начинающих

В наше время редко возникает необходимость писать на чистом ассемблере, но я определённо рекомендую это всем, кто интересуется программированием. Вы увидите на вещи под иным углом, а навыки пригодятся при отладке кода на других языках. Когда закончим, то сможем использовать его так: В этой статье мы напишем с нуля калькулятор обратной польской записи (RPN) на чистом ассемблере x86. $ ./calc ...

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

Архитектура и программирование RCA Studio II

«Finally, we come to the instruction we've all been waiting for – SEX!»/ из статьи про микропроцессор CDP1802 / Как правило, такие игры не имели микропроцессора и памяти в современном понимании этих слов, а строились на жёсткой логике. В начале 1970-х в США были весьма популярны простые электронные игры типа Pong (в СССР их аналоги появились в продаже через 5-10 ...

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

Создание 1k intro Chaos для ZX-Spectrum

Изначально я не планировал делать демо на Chaos Constrictions 2018, однако за 2-3 недели до cc понял, что с пустыми руками идти на демопати никак нельзя, и решил написать небольшую демонстрацию для 386/EGA/DOS. Демо в том виде, в котором я хотел бы его видеть, за этот весьма ограниченный срок, сделать было невозможно. Скомпилировав в Turbo-C под DOS свою либу AnotherGraphicsLibrary, ...

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

Пишем свою простейшую программу для ARM Cortex-M3

Добрый день! Сегодня я хочу рассказать вам как написать минимальную программу, которая запустится на ARM Cortex-M3 и при этом напечатает “Hello, World!”. Постараемся разобрать по шагам необходимый минимум, который нам для этого потребуется. Запускать будем на эмуляторе QEMU. Поэтому любой желающий может воспроизвести, даже если у него нет под рукой железки. Будем запускаться на этой платформе. Итак, поехали!Эмулятор QEMU поддерживает ...

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