![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Catty |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 239 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Надо написать прогу на паскале которая бы определяла число
подключенных последовательных портов. :flowers: -------------------- For every evil under the sun
There is a remedy or there is none If there is one - try to find it If there is none - never mind it! |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Catty, насколько я помню, это делается вот так:
Байт по адресу 0000:0411h в первом, втором и третьем битах содержит общее количество установленных COM-портов, а в шестом и седьмом - количество LPT-портов. Отсюда - Код var counter: byte absolute $0000:$0411; begin writeln('Число установленных COM портов: ',(counter shr 1) and $07); writeln('Число установленных LPT портов: ', counter shr 6) end. |
Romtek |
![]()
Сообщение
#3
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 303 Пол: Мужской Реальное имя: Роман Репутация: ![]() ![]() ![]() |
Загляни в http://pascal.sources.ru/comm/index.htm - Коммуникации
-------------------- Romiras HomeLab- материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и прочее.
|
Catty |
![]()
Сообщение
#4
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 239 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Спасибо!! :flowers:
если у кого еще есть какие-то соображения на это счет то кидайте тоже, не стесняйтесь! -------------------- For every evil under the sun
There is a remedy or there is none If there is one - try to find it If there is none - never mind it! |
Catty |
![]()
Сообщение
#5
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 239 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
volvo a что означает такое объявление типа данных- counter: byte absolute $0000:$041?
и что такое shr? -------------------- For every evil under the sun
There is a remedy or there is none If there is one - try to find it If there is none - never mind it! |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Catty, объявляем counter типа byte, но располагаться он будет не там, где захочет компилятор, а по адресу, который указан после Absolute (то есть, фактически мы говорим компилятору, что все действия, которые программа производит с counter-ом на самом деле производятся с байтом, находящимся по адресу $0000:$0411 - в BIOS)...
А shr - это сдвиг на указанное число бит вправо... Надо же как-то выделить нужные биты из байта... вот и сдвигаем байт так, что нужные биты находятся в крайних справа позициях. |
Catty |
![]()
Сообщение
#7
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 239 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Понятно! Спасибо! :flowers:
-------------------- For every evil under the sun
There is a remedy or there is none If there is one - try to find it If there is none - never mind it! |
Catty |
![]()
Сообщение
#8
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 239 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
А вот мне еще нужно определить объем дополнительной памяти!
Объем дополнительной памяти: Ячейки 16H и 17H содержат соответственно младший и старший байты размера дополнительной памяти (расположенной выше 1М) в кило- байтах. можно написать data: byte absolute $16:$17, а потом вывесли значение data, или это будет не правильно? -------------------- For every evil under the sun
There is a remedy or there is none If there is one - try to find it If there is none - never mind it! |
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Catty
Цитата Ячейки 16H и 17H содержат соответственно младший и старший байты Немного не так: Ячейки 17h и 18h содержат, соответственно, младший и старший байты размера дополнительной памяти (расположенной выше границы 1 М) в килобайтах... Код var data: word absolute $0000:$0017; begin writeln('Дополнительная память:', data) end. |
Catty |
![]()
Сообщение
#10
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 239 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Мне выводит 2, значит что доп. рамять 2 Кб??
-------------------- For every evil under the sun
There is a remedy or there is none If there is one - try to find it If there is none - never mind it! |
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
Catty, посмотри внимательно: я написал word а не byte
![]() нам же нужны 2 байта, а это уже Word... |
Catty |
![]()
Сообщение
#12
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 239 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
я забыла сменить byte на word .
С word выводит 16386! это в Кб? -------- зы Олежик почему я не могу удалит свое сообщение!!?? -------------------- For every evil under the sun
There is a remedy or there is none If there is one - try to find it If there is none - never mind it! |
Catty |
![]()
Сообщение
#13
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 239 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
еще такой вопрос, а почему мы пишем $0000:$0017?почему именно так?
-------------------- For every evil under the sun
There is a remedy or there is none If there is one - try to find it If there is none - never mind it! |
volvo |
![]()
Сообщение
#14
|
Гость ![]() |
А нам нужны 2 последовательных байта: 17Н (это $0000:$0017) и 18Н (то же, что $0000:$0018), то есть слово (Word), которое начинается здесь: $0000:$0017
|
Altair |
![]()
Сообщение
#15
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
offtop
Цитата Олежик почему я не могу удалит свое сообщение!!?? сделал. -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Catty |
![]()
Сообщение
#16
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 239 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Кажеться поняла! :flowers:
-------------------- For every evil under the sun
There is a remedy or there is none If there is one - try to find it If there is none - never mind it! |
![]() ![]() |
![]() |
Текстовая версия | 19.07.2025 22:50 |