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

Азбука Морзе — один из самых старых, но не уходящих на заслуженный отдых телекоммуникационных стандартов. При подготовке данной публикации я нашел Читать полностью »
Цель этой статьи не в том, чтобы дать строгое математическое определение преобразованию Фурье - это бесчисленное количество раз уже сделано другими авторами, а на примерах показать его "механический" смысл и пояснить почему оно работает.
Читателю понадобятся знания математики и физики на уровне 9 класса средней школы. Я предполагаю, что вы знаете теорему Пифагора, чему равен синус и косинус угла в прямоугольном треугольнике и что такое синусоида.
В конце статьи мы применим полученные знания для решения стандартной задачи декодирования телефонных номеров, сохранённых в аудиофайл в виде Читать полностью »
Пара моих хабровских статей [один, два] по низкоуровневому программированию для 8086 хоть и не вызвала особого ажиотажа, но опрос в конце второй части показал, что только 5% потерпевших почитавших желают отвадить автора от шевеления пальчиками по клавиатуре.
Испытывая чувство искренней признательности к оставшимся 95% читателей, автор решился родить ещё одну, совершенно оригинальную, и крайне полезную в познавательных целях "низкоуровневую" статью.
Утренняя работа над второй частью статьи началось не с запаха кофе, а с запаха нафталина, толстым слоем покрывающего микропроцессоры эпохи конца 1970-х годов. В этой знаменитой плеяде такие имена, как Zilog Z80, Motorola 68000, Intel 8086. Все они были выпущены с разницей буквально года два-три, и вполне могут считаться ровесниками.
В первой части мы:
посмотрим, как работать с памятью и регистрами 8086
узнаем, как написать простую программу на ассемблере прямо в отладчике
изучим работу механизма прерываний и сделаем демонстрационный пример
Статья рассчитана на тех, кто имеет начальный опыт программирования, но хочет понять основы низкоуровневого программирования и многозадачности.
Примеры в бинарном виде доступны по ссылке https://github.com/galilov/habr/blob/main/asm-8086-galilov.zip.
Должен ли программист понимать бизнес‑задачи своего нанимателя или заказчика? Стоит ли браться за любую работу, лишь бы платили? Ждёт ли программиста карьерный рост в ответ на принятие на себя не специфичных для разработки, но нужных бизнесу задач? На примере полностью выдуманной истории я решил поделиться своим опытом с читателями Habr.
Все совпадения с деятельностью тех или иных физических или юридических лиц, именами, датами, местами — полностью случайны.