avva: (Default)
[personal profile] avva
Меня попросили сказать, как в DOSе пишут TSR-программы. Помните, были такие, в памяти постоянно висели?

TSR: Terminate and Stay Resident. Это я ещё помню. А вот как их делают, совершенно забыл. Что-то там надо было сообщить ДОСу... кажется, сколько памяти считать занятой после выхода, чтобы command.com выше неё заново запустить, а не переписать поверх TSRа. А потом как-то выйти через int21... обычным путём или каким-то особенным?

Пытаюсь вспомнить и не могу. А ведь когда-то написал их немалое число. Висели они, милые, и перехватывали какие-то прерывания... брр, какие же это были прерывания? На клавиатуру было два, аппаратное и BIOSовое. Кажется, 09 и 16. 21 ещё приходилось прослушивать пару раз, для всяких трюков более сложных. И таймер, конечно — а каким был таймер? Восьмым? Не помню тоже.

Ещё их можно было запускать в верхней памяти, вот. Которая от 640kb то 1Mb. Но ещё не забываем про буфер дисплея (адреса были разные, для графического, текстового монохромного, и текстового цветного режимов. Только не помню, какие это были адреса). И expanded memory, когда была, туда же где-то мэппилась, да? И ещё extended была, которой мне не пришлось воспользоваться программным образом, только expanded пару раз.

Вот интересно, помнит кто-то вот так сходу, что должна делать TSR-программа, чтобы грамотно всё устроить? Не подсматривая в Гугль или ещё куда? Ясно ведь, что в два щелчка можно всё найти, это неинтересно. Не подсматривая — помнит кто? Отзовитесь.

Если есть такие люди, то я им, наверное, завидую. Или нет. Не знаю даже. Знаю одно: моя память по-другому устроена. Я не помню таких вещей. Из моей памяти всё медленно, но очень-очень верно улетучивается. Не пользовался каким-то языком программирования пару лет — забыл. Не какие-то глубокие вещи даже забыл, а на уровне “как переменные объявлять”. Про APIs, как эти прерывания злосчастные, уже и говорить нечего.

Может, это к лучшему? Может, это хлам, который и стоит забывать? Всегда же можно подучить и вспомнить, если есть необходимость; да и приходится нередко. А может и не так. Почему хлам? Кто его знает, как человеческая память устроена, и какие у неё возможности. То, что в ней много сидит технических сведений, которые сейчас не нужны, не значит вовсе, что они занимают какое-то нужное место, и мешают что-то другое запомнить. Тогда остаётся только завидовать тем, у кого этот процесс угасания памяти не так ярко выражен, как у меня. Кто может вспомнить, что же там такое надо было говорить ДОСу 13 лет назад, чтобы остаться в памяти TSRом. Не знаю.

Из забытого мной можно составить город.

Date: 2004-08-01 04:03 pm (UTC)
From: [identity profile] ex-ilyavinar899.livejournal.com
Вот (http://www.dgp.toronto.edu/~ajr/258/pdp11.pdf): флаг C изменялся по-разному с ADD и INC.

January 2026

S M T W T F S
    1 23
45678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 2nd, 2026 08:34 pm
Powered by Dreamwidth Studios