Рубрика «ассемблер»

Как естественный язык может стать мнемоническим интерфейсом для низкоуровневых вычислений.*

Между человеческой мыслью и машинным кодом всегда лежала пропасть. Чтобы заставить процессор выполнить действие, мы проходим через синтаксис высокого уровня, компиляцию, линковку и виртуальные машины, но так было не всегда. В середине XX века Андрей Марков предложил нормальные алгоритмыЧитать полностью »

Как утверждают психологи, «все проблемы человека происходят из детства» — все, что не дали родители в юном возрасте, потом обязательно проявит себя во взрослой жизни.

В моем, весьма специфическом случае такой нереализованной мечтой детства долгое время оставался... компилятор Watcom, дорваться до которого удалось лишь спустя почти тридцать лет.

Рассказываю об этом удивительном проекте.

Читать полностью »

Привет.

Я не преподаватель, не профессионал и вообще ассемблер изучал впервые. Просто для меня наилучшим способом научится и разобраться является «составление учебника» для самого себя. Поскольку вышло, на мой взгляд, довольно неплохо, я подумал, что могу поделится этим с другими. Буду рад любой критике и обратной связи для улучшения.

Читать полностью »

Примерно полгода назад я познакомился с VLIW‑процессором Эльбрус-8СВ. На тот момент у меня уже был опыт написания кода на ассемблере для VLIW‑процессора TMS320C66. Поэтому я захотел написать нечто похожее для Эльбруса. А именно, реализовать алгоритм FFT на ассемблере. Но из‑за нехватки документации на инструкции процессора мне пришлось начать с реализации какого‑нибудь простого алгоритма на Си, чтобы изучать его ассемблерный вывод. По результатам той деятельности была написана предыдущая статья.

Читать полностью »

Введение

Представьте ситуацию: вы открываете программу в IDA, видите в графе потока управления две ветки, но декомпилятор показывает лишь одну и вообще без условия. Резонно думаете: «ну, Ида‑то умная, за меня обфускацию решила». Но при запуске процессор почему‑то выполняет совершенно другую ветку кода. И делает он это не потому, что код сам себя модифицирует в памяти, а потому, что мы заставили штатные механизмы Windows работать против аналитика.

Читать полностью »

И года не прошло с момента публикации мной последней статьи*, как я... Я нет, кажется год как-раз прошел... Ну и ладно!

* тут такое дело - прошло :)
сейчас 17 мая, и я только заканчиваю работу над статьей.

SectorOS (SOS) – это небольшая операционная система (далее для удобства я буду использовать сокращения "ось" или "ОС"), написанная на ассемблере x8086, умеющая запускать пользовательские программы и предоставляющая для этих программ минимальный интерфейс взаимодействия со своей собственной файловой системой – SFS, но обо всем по порядку.

Важно

Читать полностью »

Золотой стандарт оптимизации: разбираем реализацию RollerCoaster Tycoon - 1

Недавно, благодаря удачному стечению обстоятельств, меня пригласили на один из крупнейших немецких игровых подкастов, Stay Forever, где мы обсуждали метод разработки Читать полностью »

Здравствуйте, меня зовут bitl, и я люблю демки. Особенно олдскульные. Люблю изучать принципы демо-эффектов - тех, что поражали и восхищали в 90-х годах и геймера, и заправского программиста. Пытаться их воспроизвести, используя аутентичное "железо", сделать также или даже лучше. Иногда это выливается во что-то осязаемое, иногда нет...

Как раз сейчас на очереди новый релиз, и казалось бы уже самое сложное позади, осталось всего ничего... И вот в такие моменты приходит она... Прокрастинация, творческий тупик, приступы пинания гектокотилей - в общем экзистенциальный кризис.
Читать полностью »

Когда заходит разговор про WebAssembly, где-нибудь в начале дискуссии обычно появляется комментарий в духе «А что, собственно, произошло?»

Этот язык преподносили как нечто поворотное. Неужели это просто был яркий маркетинг? А может, очередной случай с обречённым на провал апплетом JVM?

И я хочу подойти к этой теме немного со стороны, так как подобные вопросы содержат ошибочные предположения, которые следует прояснить.

Содержание

  1. Реальная картина

  2. Что такое WebAssembly

  3. О скорости

  4. Об эффективности

  5. Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js