Hacker News Digest

Тег: #assembly-language

Постов: 4

Learn Multiplatform Z80 Assembly Programming with Vampires (chibiakumas.com)

Представлен уникальный курс обучения программированию на ассемблере Z80 с тематикой вампиров. Сайт предлагает четыре серии уроков: для абсолютных новичков, основы Z80, примеры "Hello World" и практические примеры. Каждому уроку соответствует видео на YouTube с комментариями и практическими демонстрациями.

Курс охватывает множество ретро-платформ: от Amstrad CPC и ZX Spectrum до Game Boy и Sega Master System. Уроки включают работу с CPU, представление данных, графику, звук, операции с битами и прерывания. Автор предоставляет обновленную серию уроков 2021 года и подчеркивает мультиплатформенный подход, позволяя изучать один и тот же код на разных системах.

by surprisetalk • 26 октября 2025 г. в 00:15 • 79 points

ОригиналHN

#z80#assembly-language#amstrad-cpc#zx-spectrum#game-boy#sega-master-system#retro-programming#low-level-programming

Комментарии (7)

  • Сайт и туториалы по ассемблеру для множества платформ, включая FM-7, SAM Coupé и PDP-11, выросли из скриптов для сборки ChibiAkumas V1.666.
  • Сообщество отмечает, что ресурс остаётся актуальным и полезным, несмотря на его «древность», и что он всё ещё служит цели «сделать низкоуровневое программирование доступным».
  • Обсуждение подчеркнуло, что хотя архитектура RISC-V может быть ещё более дружелюбна к новичкам, чем Z80 или 6502, сама идея изучать ассемблер остаётся такой же пугающей для новичков, как и в 80-е.
  • Участники согласились, что не смотря на это, сайт остаётся ценным и уникальным ресурсом, и что его трудно заменить.

FFmpeg Assembly Language Lessons (github.com) 🔥 Горячее

FFmpeg/asm-lessons — репозиторий с уроками по ассемблеру для FFmpeg.
Цель: научиться писать высокопроизводительные рутины на x86-64, ARM и других архитектурах, ориентированные на мультимедиа-задачи.

Содержание (кратко):

  • Уроки: от базовых инструкций до векторных расширений (SSE/AVX, NEON).
  • Примеры: реализация IDCT, фильтров, цветового преобразования.
  • Тесты: юнит-тесты и бенчмарки для сравнения C vs asm.
  • CI: автоматическая проверка на x86-64 и ARM через GitHub Actions.

Как начать:

  1. Клонируйте репо.
  2. Установите nasm, yasm или llvm-mingw.
  3. Соберите пример: make lesson01.

Полезные ссылки:

by flykespice • 18 августа 2025 г. в 13:39 • 396 points

ОригиналHN

#ffmpeg#assembly-language#x86-64#arm#sse#avx#neon#simd#multimedia#github-actions

Комментарии (132)

  • Пользователи восхищаются масштабом FFmpeg и экономией вычислений даже при небольших улучшениях.
  • Обсуждаются случаи, когда ручная сборка быстрее intrinsic’ов, и инструменты для поиска «горячих точек».
  • Некоторые ждали более глубокой связи с FFmpeg, а не общее введение в ассемблер.
  • Поднимаются вопросы портативности (пока только x86-64), необходимости математических подготовок и перегруженности NASM-макросами.
  • Большинство соглашается: писать LLVM IR вручную нет смысла, проще использовать inline-assembly или векторные инструкции.

Inside OS/2 (1987) (gitpi.us)

OS/2: ядро и сервисы
OS/2 — многозадачная ОС для 286/386, API-ориентированная, расширяемая. Архитектура: ядро, Windows Presentation Manager, LAN Manager. Достаточно ядра для многозадачности; WPM и LAN не обязательны.

SDK
Поставляется с оптимизирующим С-компилятором, макро-ассемблером, линковщиком, отладчиком CodeView, редактором. Документация по вызовам и драйверам.

Планировщик
Превентивный, вытесняющий: по таймеру ядро перехватывает CPU и переключает задачи. Приоритеты + кванты времени; при переключении сохраняются регистры и режимы.

Динамические библиотеки
API реализован в DLL; адреса 32-битные, параметры через стек. Экономия диска и RAM: код загружается и разделяется между процессами. Ошибки в DLL исправляются без пересборки приложений. Повторный запуск той же программы переиспользует код, выделяя только данные/стек/кучу.

Режимы процессора

  • Protected: многозадачность, изоляция процессов.
  • Real: совместимость с MS-DOS, прямой доступ ко всей памяти.

by rbanffy • 10 августа 2025 г. в 13:15 • 113 points

ОригиналHN

#os-2#operating-systems#multitasking#ibm#microsoft#c-programming#assembly-language#dll#scheduling

Комментарии (48)

  • OS/2 2.1 умело загружаться и многозадачно работать даже с одной 1,44 МБ дискеты без GUI, чем восхищались участники.
  • Обсуждали преимущества вытесняющей многозадачности OS/2 над кооперативной Windows 3.x и особенности Pascal-calling convention, экономившей 3 байта и такты на вызов.
  • Вспомнили, что ранний OS/2 создавался совместно IBM и Microsoft, но к 1990 г. Microsoft переключилась на Windows NT, а IBM осталась с OS/2.
  • Отметили долгие годы работы OS/2 в терминалах MetroCard нью-йоркского метро и вспомнили SOM как более продвинутую альтернативу COM.

A Simple CPU on the Game of Life (2021) (nicholas.carlini.com)

Схема простого процессора в «Жизни» — часть 4

Строим первый настоящий компьютер: 2-конвейерную машину неограниченных регистров (URM). Она факторизует 15 за несколько минут.

Что такое URM

  • Теория: бесконечное число регистров с неограниченными целыми.
  • Практика: 16 регистров по 4 бита.
  • Инструкции:
    1. INC Rx — увеличить.
    2. DEC Rx — уменьшить.
    3. JNZ Rx, Addr — переход, если не ноль.

Этого достаточно для полной Тьюринговой машины. Например, сложение:

ADD:
  jnz R1, END
  dec R1
  inc R2
  jmp ADD
END:

Архитектура

  • Верхний левый угол: тактовый генератор.
  • Рядом: регистровый файл (16×4 бит) — вся RAM.
  • Справа: АЛУ, умеет только инкремент.
  • Ниже: счётчик команд (PC) и ПЗУ на 128 4-битовых команд.
  • Слева от ПЗУ: конвейерные триггеры для одновременного чтения и исполнения.
  • Край справа: четыре семисегментных дисплея для вывода.

Особенности «Жизни»

В реальном железе минимизируют транзисторы; в «Жизни» главное — минимизировать площадь и задержку клеток.

by jxmorris12 • 06 августа 2025 г. в 15:17 • 75 points

ОригиналHN

#conways-game-of-life#turing-machine#assembly-language#computer-architecture#registers#alu#program-counter

Комментарии (11)

  • Пользователи в восторге от наглядности «жизни» как модели вычислений, хотя кто-то считает её сложнее обычных логических символов.
  • Conway, по мнению комментаторов, был бы в восторге.
  • Вопрос о стеке сайта остался без ответа, но все хвалят дизайн.
  • Пошутили о запуске DOOM и о «человеческом компьютере» из «Задачи трёх тел».