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

Обзор в честь моего 10-летия участия в проекте создания операционной системы Kolibri.

Кем я только не работал и что только не делал в этом проекте. Именно знания, полученные в процессе работы над Колибри дали мне возможность кардинально изменить свою жизнь — найти работу мечты, новых друзей и получить невероятное количество фана!

image

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

Доброго времени суток, уважаемые.

В свободное от работы время увлекаюсь программирование микроконтроллеров, на ассемблере. Пока вожусь в основном со всякими PIC(12,16) и AVR, но и MCS-51 не брезгую, тем более что именно с них я собственно и начал. Уровень мой — «вечно начинающий». Это типа светодиодиком уже умею мигать, даже по таймеру.
Читать полностью »

Недавно вышло еще одно печатное издание книжки Харрис & Харрис на русском языке. Это широкоохватывающий ликбез про то, как проектируют микросхемы в компаниях типа Apple и Intel (методология проектирования на уровне регистровых передач с использованием языков описания аппаратуры). До этого печатного издания вышло бесплатное электронное издание этой же книжки, которое стало вирусным — его скачивания дважды завалили британский сайт Imagination Technologies, а посты о книжке на Хабре и Гиктаймс собрали более 300,000 просмотров (1, 2, 3, 4, 5 ). История перевода книжки на русский тоже довольно поучительна — он начался как общественный проект группы энтузиастов: преподавателей российских и украинских университетов, а также русских сотрудников компаний как в Silicon Valley (MIPS, AMD, Synopsys, Apple, NVidia ...) так и в России (НИИСИ, МЦСТ, Модуль ...). Когда вышло первое печатное издание на русском языке, его тоже довольно быстро раскупили и пожаловались, что оно черно-белое. Поэтому следующий принт был цветной, улучшенного качества.

Теперь возникает вопрос: ну хорошо, вы приобрели или скачали бесплатно книжку, поняли основы цифровой схемотехники, языков описания аппаратуры Verilog и VHDL, приобрели вкус писания на ассемблере и разобрались с организацией простейшего конвейерного микропроцессора, а также как все это стыкуется с периферийными устройствами и встроенным программированием. Что делать дальше?

Следущие шаги в черной магии процессоростроения после того, как вы освоили Харрис & Харрис - 1

На снимке — Татьяна Волкова, сотрудница образовательных программ компании Samsung в Московском Физико-Техническом Институте
Читать полностью »

Вышел Firefox 52 c поддержкой WebAssembly - 1
3D-рендеринг демки Zen Garden в браузере Firefox 52 c поддержкой WebAssembly

Mozilla выпустила Firefox 52, последнюю версию браузера с поддержкой операционной системы Windows XP. Сделан ряд важных изменений: упрощено подключение к хотспотам, где нужно сначала залогиниться в браузере, появились предупреждения об опасности, если страница запрашивает пароль по небезопасносму соединению (не HTTPS), исчезла поддержка плагинов NPAPI (кроме Flash, а в билде ESR останется полная поддержка), закрыто 28 уязвимостей.

Но ничто это не сравнится с главным и фундаментальным нововведением — поддержкой низкоуровневого языка программирования WebAssembly (wasm) типа ассемблера, который называют одной из самых значительных инноваций веб-платформы за последнее десятилетие. Это то, чего не хватало JavaScript.
Читать полностью »

image Привет! Меня зовут Марко Кевац, я системный программист Badoo в команде «Платформа», и я очень люблю Go. Если сложить эти две вещи, то вы поймёте, насколько я люблю ассемблер в Go.

Совсем недавно мы рассказывали на Хабре о том, на каких конференциях побывали. Одной из них была GopherCon 2016, где практически всем запомнился доклад Роба «Командира» Пайка про Go-шный ассемблер. Представляю вам перевод его доклада, оформленный в виде статьи. Я постарался дать в тексте как можно больше ссылок на релевантные статьи в «Википедии».
Читать полностью »

Какое-то время назад я переводил рассказ Chris Salomon о его разработке игры Frogger для компьютера Vectrex. Тот рассказ, написанный им в 1998 году, является, на мой взгляд, очень интересным документом, позволяющим проникнуться как духом этой необычной платформы, так и спецификой разработки на ассемблере вообще.

Chris не забросил Vectrex и, сравнительно недавно, довёл до релиза собственный эмулятор Vectrex для Windows (лучший, на данный момент) под названием «Vide». Мне, к слову, приятно, что мои исходники Electric Force помогли ему реализовать приличную поддержку отображения векторных кривых в этом эмуляторе.

И вот, получив в руки такой мощный инструмент, Chris не смог отказать себе в удовольствии вернуться к своему старому Frogger'у, чтобы доработать и улучшить его. Об этом он рассказал в своём блоге.

Таким образом, здесь я публикую две части моего перевода — первую, об оригинальной разработке 1998 года (из файла progger.txt, бродившего вместе с исходниками игры) и вторую — о её продолжении (из блога автора).
Читать полностью »

На форумах и в других местах общения разработчиков сейчас часто повторяется, что приличный оптимизирующий компилятор всегда будет превосходить жалкие, почти человеческие потуги программы, написанной вручную на ассемблере. Есть редкие случаи, как, например, MPEG-декодеры, где хорошее использование инструкций SIMD может позволить ассемблированию полностью превзойти компилятор. Но обычно, и везде, мы слышим, что компилятор всегда работает лучше.

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

Но так ли это? Давайте не будем просто воспринимать на веру слова некоторых парней в интернете, как библейское откровение, а проведём небольшой эксперимент и выясним.
Читать полностью »

"Literate programming (грамотное программирование) — отношение к компьютерным программам, как к литературе: компьютерная программа пишется не столько для компьютера, сколько для людей, чтобы люди могли ее прочитать. И поскольку я пишу программы, и в некотором роде учитель. "

image

«Давайте изменим традиционные приоритеты в создании программ: вместо представления о нашей задаче как о создании инструкций «Что делать?» для компьютера сконцентрируемся на объяснении другим людям описаний нашего видения того, что под управлением программы должен делать компьютер.»
Читать полностью »

«Hardware is just software crystallized early»
— Alan Kay

Архитектура и программирование Philips Videopac (Magnavox Odyssey 2) - 1Компьютер Magnavox Odyssey 2 (Videopac) появился в 1978 году и позиционировался как игровой, однако с возможностью более серьёзного применения (для чего у него имелась встроенная плёночная клавиатура). Серьёзных приложений, учитывая назначительный объём памяти, было очень мало, так что, по факту, правильнее считать Videopac игровой приставкой.

Что касается названий, Magnavox Odyssey 2 продавался в США и выдавал NTSC видеосигнал (через RF выход). Philips Videopac G7000 (он же C52) продавался в Европе, соответственно, с PAL видео. Кроме этого различия (которое, разумеется, влияло на работоспособность части игр) компьютеры совершенно одинаковые.

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

— А видеовыход у него есть?
— И как ты себе это представляешь?
(из разговора о Vectrex)

Архитектура и программирование компьютера Vectrex - 1Vectrex выпускался GCE в 1982 — 1983 гг. и представляет собой игровой компьютер (приставку) ключевая особенность которой, векторный дисплей, делает его одним из самых необычных и интересных 8-разрядных компьютеров. С некоторой натяжкой можно сказать, что он является упрощённой версией векторных игровых автоматов Cinematronics, технически более совершенных.

В качестве процессора в Vectrex используется Motorola 6809 — он похож на MOS 6502/6510, но добавлены 16-битные регистры, дополнительные режимы адресации, умножение.
Тактовая частота — 1.5MHz.

Поскольку компьютер был выпущен как игровая приставка и игры для него продавались на картриджах, программа размещается в ПЗУ картриджа (32 кб), а ОЗУ — совсем крохотное (1 кб — две штуки 2114) и предназначено больше для данных.
Также есть встроенное ПЗУ с BIOS'ом (8 кб — одна 2363), который включает набор подпрограмм для рисования векторов и вывода текста, несколько примитивных мелодий и даже одну игру — Minestorm (многим известную как Asteroids).Читать полностью »


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