Помощь - Поиск - Пользователи - Календарь
Полная версия: [Pascal] Прерывания MS DOS 21h
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
metamfetamin
Дал препод в универе процедуру:
Procedure MsDos(var Regs:Registers);

Где, Regs имеет тип
Registers record 
Case integer of
0: (AX,BX …..:Word);
1: (AL,AH,…DL,DH:Byte)
end;


blink.gif blink.gif blink.gif blink.gif Немогу вдуплить, как составить упрощенный алгоритм работы процедуры MsDos, используя следующую информацию:
- Количество символов в строке =80
- Количество строк=25
- Нумерация начинается с нуля
- Имеется возможность дать сигнал "роллинга" на одну строку вверх
- Имеется возможность получить сигнал готовности ввода от контроллера (адаптера)

Результат роботы программы точно не знаю, так как он сказал в процесе работы все поймете!!!!
Ну как я догадуюсь программа должна выдавать на экран любой символ, например $.
Но смисла я понять вообще немогу!!!
andriano
Вообще-то MsDos - это выполнение прерывания MS DOS. Применяется обычно в тех случаях, когда в Борланд Паскале нет прямых аналогов этих функций (типа write[ln], read[ln], assign/reset, readkey, keypressed и т.п.) либо паскалевские аналоги слишком высокоуровневые, а нужны именно низкоуровневые процедуры (например, посекторное чтение диска).
Насколько я понимаю, для выполнения задания нужен справочник по функциям MS DOS, а также указание преподавателя, какую именно из всего многообразия функций нужно имиировать.
metamfetamin
Цитата(andriano @ 9.12.2007 18:05) *

Вообще-то MsDos - это выполнение прерывания MS DOS. Применяется обычно в тех случаях, когда в Борланд Паскале нет прямых аналогов этих функций (типа write[ln], read[ln], assign/reset, readkey, keypressed и т.п.) либо паскалевские аналоги слишком высокоуровневые, а нужны именно низкоуровневые процедуры (например, посекторное чтение диска).
Насколько я понимаю, для выполнения задания нужен справочник по функциям MS DOS, а также указание преподавателя, какую именно из всего многообразия функций нужно имиировать.



Используя функцию 2
andriano
С номером функции определились, остальсь выяснить, что именно эта функция должна делать.
metamfetamin
Цитата(andriano @ 9.12.2007 19:11) *

С номером функции определились, остальсь выяснить, что именно эта функция должна делать.

Выдать на экран любой символ, например $ , используя функцию 2, прерывания 21h
andriano
И какие у нее входные параметры?
metamfetamin
Цитата(andriano @ 9.12.2007 19:22) *

И какие у нее входные параметры?

Я не знаю!!!! Препод не дал ничего кроме того что я написал в первом посту!!!!

Количество символов в строке =80
- Количество строк=25
- Нумерация начинается с нуля
- Имеется возможность дать сигнал "роллинга" на одну строку вверх
- Имеется возможность получить сигнал готовности ввода от контроллера (адаптера)
andriano
Наверное преподаватель хотел, чтобы ты самостоятельно посмотрел в справочнике по MS DOS.
(мне, честно говоря, лень идти за ним в другую комнату или искать в И-нете, а под DOS я уже много лет не пишу, так что навскидку не помню)
metamfetamin
Цитата(andriano @ 9.12.2007 20:14) *

Наверное преподаватель хотел, чтобы ты самостоятельно посмотрел в справочнике по MS DOS.
(мне, честно говоря, лень идти за ним в другую комнату или искать в И-нете, а под DOS я уже много лет не пишу, так что навскидку не помню)


Так ли я понимаю что у каждой функции (1,2,3 и т.д даже не знаю сколько их)есть свои параметры.......и в данном случае функция 2 тоже имеет свои параметры какие я должен использывать для написаний алгоритма (программи) используя Procedure MsDos ?????
andriano
Естественно.
На самом деле функция MsDos - есть лишь интерфейс к функциям DOS, которые предназначены для выхова их из языка Ассемблера и параметры в котороые передаются в регистрах процессора.
То есть с точки зрения Паскаля, у всех у них единственный параметр - переменная типа Registers, но в различные поля этой переменной должны быть записаны соответствующие значения (разные для разных функций).
metamfetamin
Цитата(andriano @ 9.12.2007 20:38) *

Естественно.
На самом деле функция MsDos - есть лишь интерфейс к функциям DOS, которые предназначены для выхова их из языка Ассемблера и параметры в котороые передаются в регистрах процессора.
То есть с точки зрения Паскаля, у всех у них единственный параметр - переменная типа Registers, но в различные поля этой переменной должны быть записаны соответствующие значения (разные для разных функций).

Ти меня окончательно запутал!!! wacko.gif wacko.gif mega_chok.gif mega_chok.gif mega_chok.gif mega_chok.gif Короче щас буду по инету шарится шо тто искать!!

Посмотри пожалуста ето не оно случаем????? http://redacid.org.ua/ftp/media1/all_docs/...b/ch1.html#b1.5
andriano
Оно.
Судя по :
Цитата
02h Отобразить символ Отображаемый символ посылается на стандартное устройство вывода
Это именно вывод единственного символа на экран. Осталось найти описание входных регистров и особенности работы (типа переходит на другую строку или нет, производит скроллинг или нет и т.п.).
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.