В заметке об обработке прерываний мы столкнулись с контроллером клавиатуры. Работа с контроллером клавиатуры заслуживает отдельной заметки. Вот она. Литература Сразу представлю список источников: Adam Chapweske — The AT-PS/2 Keyboard Interface — 2001. Ying-Wen Bai and Hsiu-Chen Chen — Design Читать дальше …
Метка: Assembler
Изучаем архитектуру Intel x86-64 при помощи ассемблера (Часть 5 — Прерывания)
После того как в предыдущей заметке мы написали загрузчик, мы не ограничены в размере кода нашей программы. Вернемся теперь снова к логике повествования книги Руслана Аблязова — Программирование на ассемблере на платформе х86-64 — 2011. В сегодняшней заметке реализуем обработку Читать дальше …
Изучаем архитектуру Intel x86-64 при помощи ассемблера (Часть 4 — Загрузчик)
В предыдущей заметке мы успешно перешли в защищенный режим процессора Intel x86. Прежде чем нам двинуться дальше в изучении защищенного режима, нам надо решить одну проблему. Загрузочный сектор, который загружается в оперативную память при старте компьютера и в котором находится Читать дальше …
Изучаем архитектуру Intel x86-64 при помощи ассемблера (Часть 3 — Переход в защищенный режим)
В предыдущих заметках мы запускали программу HelloWorld на голом железе. Непосредственно после старта процессор x86 находится в т. н. реальном режиме работы процессора (real mode). Этот режим имеет следующие особенности: Режим 16-разрядный, т. е. длина машинного слова в нем равна Читать дальше …
Консольная программа для Windows на языке ассемблера
В предыдущих заметках я начал писать программы, которые стартуют на ПК без операционной системы, будучи загруженными с дискеты. Программы эти я компилировал ассемблером flat assembler (FASM). В настоящей заметке мне захотелось сделать небольшое отступление и написать о том, как при Читать дальше …
Изучаем архитектуру Intel x86-64 при помощи ассемблера (Часть 2 — Настройка проекта osdevlearning)
В предыдущей заметке я рассказывал о том, как написать на ассемблере программу HelloWorld, которая будет запускаться на голом железе (без операционной системы), как скомпилировать ее и записать образ загрузочной дискеты, и как заставить виртуальную машину загружаться с этой дискеты. Я Читать дальше …
Изучаем архитектуру Intel x86-64 при помощи ассемблера (Часть 1 — Hello World на голом железе)
Я давно хотел научиться писать операционную систему или хотя бы попробовать эту задачу на зуб. Почему ОС начинают писать на языке ассемблера? Дело в том, что работа ОС обеспечивается определенными особенностями архитектуры процессора. Это, например, наличие нескольких уровней привилегий (режим Читать дальше …
