13. Программирование на ассемблере Intel 8080 | Программирование микропроцессоров
Курс "Программирование микропроцессоров" специальность 09.03.04 "Программная инженерия", 1 курс. Про подготовку программистов в Институте iSpring здесь: https://ispring.institute/software-engineering В этой лекции мы впервые посмотрим на программу глазами процессора. До этого момента мы писали код на языке C и доверяли компилятору превращать его в машинные инструкции. Теперь настало время разобраться, что происходит после компиляции: как программа выглядит в памяти, как процессор считывает машинный код, выполняет инструкции и изменяет состояние регистров и памяти. В качестве учебной модели используется легендарный Intel 8080 — один из первых массовых микропроцессоров. Несмотря на возраст, на его примере просто понять фундаментальные принципы работы современных процессоров и архитектур ISA. В лекции вы узнаете: - что такое ISA (Instruction Set Architecture) и почему это интерфейс между программой и процессором; - как устроен процессор: регистры, ALU, устройство управления, счётчик команд и стек; - как процессор взаимодействует с памятью и почему код и данные — это просто байты; - как выполняются инструкции перемещения данных, арифметики и переходов; - почему все вычисления проходят через регистры, а память служит лишь хранилищем данных; - как конструкции языка C превращаются в последовательность инструкций Intel 8080; - как реализуются указатели, циклы и функция memcpy на уровне ассемблера; - как кодируются машинные инструкции и что такое opcode; - как выглядит программа в виде машинного кода; - как использовать эмулятор Intel 8080 для пошагового изучения работы процессора; - как запускались программы в операционной системе CP/M и как выглядело классическое Hello, World! на ассемблере. После просмотра этой лекции вы будете понимать, что происходит между компилятором и процессором, сможете читать простые программы на ассемблере Intel 8080 и будете готовы к изучению ассемблера современных процессоров, таких как x86-64. Полезные ссылки - Слайды и задачи по этому курсу: https://github.com/alexey-malov/mpp - Поддержать меня на Boosty: https://boosty.to/vivid-bw Тайм-коды: 0:00 Вступление 5:26 Intel 8080 10:53 Архитектура Intel 8080 29:30 Система команд Intel 8080 1:11:27 Кодирование машинных инструкций 1:28:10 Краткий обзор эмулятора процессора КР580ВМ80 1:38:20 Краткий обзор эмулятора системы CP/M 1:47:44 Итоги Во вступительной заставке используется шейдер "Enter The Matrix" https://www.shadertoy.com/view/cl3XRX (автор kishimisu).
Название:
13. Программирование на ассемблере Intel 8080 | Программирование микропроцессоров
Категория:
Разное