11 месяцев назад
Ассемблер. Резидентные программы, для чего они нужны, и как они работают.
Эта статья будет полезна каждому пользователю персонального компьютера, который хотел бы иметь какое-то представление о том, как он работает, а для тех, кто изучает программирование, с нею просто необходимо ознакомиться, на мой взгляд. Резидентная программа - это небольшой участок кода, который постоянно находится в оперативной памяти компьютера. Ее предназначение, это перехват определенных прерываний компьютера, выполнение каких-то собственных установок, затем программа может передать управление старому обработчику, или просто выйти из прерывания...
Заготовка программы на ассемблере
Ну вот ты решил делать прошивку, как все-таки организовать программу, чтобы она легко читалась и была возможность ее расширять? В этом плане лучше всего разделить ее на части (модули), отвечающие за отдельные функции системы/периферию. Рассмотрим пример: Что здесь важно: программа начинает выполняться с метки Reset (адрес 0x0000), далее перескакивает на метку Init. Сегменте кода между rjmp Init и. самой меткой Init располагается таблица векторов прерываний (int_vectors.asm) и определяются подпрограммы их обработки (int_routines...