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 02:51 pm (UTC)
From: [identity profile] oblomov-jerusal.livejournal.com
А я еще про архитектуру PDP-11 и систему RSX-11 (точнее, про их советские и польские клоны) могу много интересного вспомнить.

Date: 2004-08-01 03:00 pm (UTC)
From: [identity profile] avva.livejournal.com
В СССР я только на Ямахах работал до PCшек; соответственно, могу кое-что вспомнить об ассеблере Z80, о системе спрайтов, и других подобных вещах (не очень многое и вспомню, впрочем).

PDP11 учил немного уже в Израиле. Хорошая платформа.

Date: 2004-08-01 03:15 pm (UTC)
From: [identity profile] ex-ilyavinar899.livejournal.com
Ага, там еще ADD 1, R1 и INC R1 выставляло разные флаги...

Date: 2004-08-01 03:29 pm (UTC)
From: [identity profile] oblomov-jerusal.livejournal.com
Такого ясно не помню, INC каких-то флагов не менял? Да, и правильно ADD #1, R1

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.

Date: 2004-08-01 04:08 pm (UTC)
From: [identity profile] ex-ilyavinar899.livejournal.com
Пардон, я не уверен, какой флаг установится после сложения 1 и 65535: C или V.

Date: 2004-08-01 11:04 pm (UTC)
From: [identity profile] elmachohebreo.livejournal.com
Гагагага, а я еще помню архитектуру ЕС ЭВМ (пародию на майнфреймы IBM/360) и БЭСМ-6. У меня еще куча книг осталось с тех времен. И еще вообще экзотика - МВК Эльбрус-2.

Date: 2004-08-02 03:07 am (UTC)
From: [identity profile] silpol.livejournal.com
гхм... ЕС ЭВМ мало чем отличались в имплементации от IBM/360 и даже /370 - СССР в свое время _купил_ полную лицензию на производство железа с поддержкой со стороны IBM. более того, IBM честно поддерживал это железо согласно контракта, т.е. до 89-го года кажется.

Да Вы что ?

Date: 2004-08-02 05:04 am (UTC)
From: [identity profile] mfi.livejournal.com
Лицензию купили ? Нифига себе, всю жизнь был уверен что сперли попросту. Скажите, а на софт тоже была лицензия ?

Re: Да Вы что ?

Date: 2004-08-02 05:47 am (UTC)
From: [identity profile] silpol.livejournal.com
нет, не сперли - сперли как раз софт. вообще это была замечательная сделка в своем роде - IBM ясно осознавал что продавать HW без софта просто глупо, а покупатели со стороны СССР четко осознавали что покупать софт чуть позже они не будут... :)

С нежностью ...

Date: 2004-08-02 05:01 am (UTC)
From: [identity profile] mfi.livejournal.com
... а RT-11, он же Рафос ! макроассемблер и 64К - которых хватало на все. Даже ублюдочный ДОС АСПО на СМ-2, которая М6000, которая какой то неведомый HP - все равно влазил. Да что говорить, круто-навороченная ЕС-1033 с ажнот 512 килобайт памяти где прыгали многочисленные системные задания вместе с компиляторами ПЛ-1, РПГ и Кобола ! А в промежутках - Ассемблер с картинками для АЦПУ. Работало, если перфокарточный ввод и кОнсул не сбоил !

January 2026

S M T W T F S
    1 2 3
4 5 6 78910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 8th, 2026 03:50 am
Powered by Dreamwidth Studios