IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> [Pascal] Прерывания MS DOS 21h
metamfetamin
сообщение 9.12.2007 14:42
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 55
Пол: Мужской

Репутация: -  -1  +


Дал препод в универе процедуру:
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
- Нумерация начинается с нуля
- Имеется возможность дать сигнал "роллинга" на одну строку вверх
- Имеется возможность получить сигнал готовности ввода от контроллера (адаптера)

Результат роботы программы точно не знаю, так как он сказал в процесе работы все поймете!!!!
Ну как я догадуюсь программа должна выдавать на экран любой символ, например $.
Но смисла я понять вообще немогу!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
andriano
сообщение 9.12.2007 18:05
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


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


Пионер
**

Группа: Пользователи
Сообщений: 55
Пол: Мужской

Репутация: -  -1  +


Цитата(andriano @ 9.12.2007 18:05) *

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



Используя функцию 2
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
andriano
сообщение 9.12.2007 19:11
Сообщение #4


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


С номером функции определились, остальсь выяснить, что именно эта функция должна делать.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
metamfetamin
сообщение 9.12.2007 19:15
Сообщение #5


Пионер
**

Группа: Пользователи
Сообщений: 55
Пол: Мужской

Репутация: -  -1  +


Цитата(andriano @ 9.12.2007 19:11) *

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

Выдать на экран любой символ, например $ , используя функцию 2, прерывания 21h
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
andriano
сообщение 9.12.2007 19:22
Сообщение #6


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


И какие у нее входные параметры?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
metamfetamin
сообщение 9.12.2007 19:55
Сообщение #7


Пионер
**

Группа: Пользователи
Сообщений: 55
Пол: Мужской

Репутация: -  -1  +


Цитата(andriano @ 9.12.2007 19:22) *

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

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

Количество символов в строке =80
- Количество строк=25
- Нумерация начинается с нуля
- Имеется возможность дать сигнал "роллинга" на одну строку вверх
- Имеется возможность получить сигнал готовности ввода от контроллера (адаптера)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
andriano
сообщение 9.12.2007 20:14
Сообщение #8


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Наверное преподаватель хотел, чтобы ты самостоятельно посмотрел в справочнике по MS DOS.
(мне, честно говоря, лень идти за ним в другую комнату или искать в И-нете, а под DOS я уже много лет не пишу, так что навскидку не помню)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
metamfetamin
сообщение 9.12.2007 20:30
Сообщение #9


Пионер
**

Группа: Пользователи
Сообщений: 55
Пол: Мужской

Репутация: -  -1  +


Цитата(andriano @ 9.12.2007 20:14) *

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


Так ли я понимаю что у каждой функции (1,2,3 и т.д даже не знаю сколько их)есть свои параметры.......и в данном случае функция 2 тоже имеет свои параметры какие я должен использывать для написаний алгоритма (программи) используя Procedure MsDos ?????
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
andriano
сообщение 9.12.2007 20:38
Сообщение #10


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Естественно.
На самом деле функция MsDos - есть лишь интерфейс к функциям DOS, которые предназначены для выхова их из языка Ассемблера и параметры в котороые передаются в регистрах процессора.
То есть с точки зрения Паскаля, у всех у них единственный параметр - переменная типа Registers, но в различные поля этой переменной должны быть записаны соответствующие значения (разные для разных функций).
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
metamfetamin
сообщение 9.12.2007 20:45
Сообщение #11


Пионер
**

Группа: Пользователи
Сообщений: 55
Пол: Мужской

Репутация: -  -1  +


Цитата(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

Сообщение отредактировано: metamfetamin - 9.12.2007 20:52
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
andriano
сообщение 9.12.2007 21:12
Сообщение #12


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Оно.
Судя по :
Цитата
02h Отобразить символ Отображаемый символ посылается на стандартное устройство вывода
Это именно вывод единственного символа на экран. Осталось найти описание входных регистров и особенности работы (типа переходит на другую строку или нет, производит скроллинг или нет и т.п.).
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 14:22
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"