Вопрос № 29154: привет!
Думаю в этой теме мой вопрос будет уместнее всего
Уменя в универе есть такая дисциплина "Аппаратные средства вычислительных систем". В этой дисциплине рассматриваются принципы построения процессоров (микрокод, работа АЛУ, и ...Вопрос № 29173: Помогите, написал прогу на ассемблере, сортировка вставками, в ней необходимо перейти в защищенный режим, чтобы сортировать файлы более 64кб, но при запуске под DOS машина перегружается, вроде проблема с таблицей прерываний, подскажите как написать с...Вопрос № 29180: Добрый день. Уважаемые эксперты, не подскажите как сей код поправить, чтобы все заработало? :-)
Все дело в WAIT_KEY я полагаю....
...
Вопрос № 29.154
привет!
Думаю в этой теме мой вопрос будет уместнее всего
Уменя в универе есть такая дисциплина "Аппаратные средства вычислительных систем". В этой дисциплине рассматриваются принципы построения процессоров (микрокод, работа АЛУ, и т.д.). Я хотел спросить, кто-нибудь может подсказать хорошую книгу по этому поводу. Например из какой-нибудь серии типа "Классика Computer Science"?
заранее спасибо
Из серии "Классика Computer Science" подойдут такие книги:
Э.Таненбаум "Архитектура компьютера"
К.Хамахер, З.Вранешич, С.Заки "Организация ЭВМ"
--------- Трудное - то, что можно сделать немедленно. Невозможное - то, для выполнения чего требуется немного больше времени
Ответ отправил: Ayl (статус: Профессор)
Отправлен: 08.11.2005, 15:08
Вопрос № 29.173
Помогите, написал прогу на ассемблере, сортировка вставками, в ней необходимо перейти в защищенный режим, чтобы сортировать файлы более 64кб, но при запуске под DOS машина перегружается, вроде проблема с таблицей прерываний, подскажите как написать собственную ?
Отправлен: 08.11.2005, 15:15
Вопрос задал: GS1 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Лысков Игорь Витальевич
Здравствуйте, GS1!
На мой взгляд - это порочный путь...
1) Перейти в защищенный режим, это не только "написать собственную таблицу прерываний". Все намного сложнее...
2) Такую программу можно будет запустить исключительно в реальном режиме работы процессора. Где ты собираешься ее запускать? под голым ДОС-ом? В наше-то время!
3) Если нужно писать под ДОС-ом, то кто мешает использовать длинные указатели?
Вся доступная память для ДОС-а (~500Кб) в твоем распоряжении. Если разумно ее использовать, то можно работать с файлами любой длины.
4) Ну и, наконец, пиши под Винду, не будет вообще ограничений!
Как пример - делаешь отображение файла (mapping) и работаешь с файлом, как с памятью!
--------- Удачи!
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Solodov Evgeniy Vladimirovich!
Ну, как раз, с WAIT_KEY проблем никаких.
Проблема в том, что прерывание таймера будет вызываться в любой момент времени, поэтому не будет знать, где взять адрес старого вектора (регистр DS, по которому адресуется переменная OLD_VECTOR в вызове, может быть каким угодно!)
Надо сделать по другому - самим сформировать команду "непосредственный длинный вызов", при этом OLD_VECTOR будет лежать в сегменте кода и будет частью команды!
Приложение:
--------- Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: 8-ой класс)
Отправлен: 08.11.2005, 19:01 Оценка за ответ: 5 Комментарий оценки: Спасибо за ответ.