Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Ассемблер? Это просто! Учимся программировать (FAQ)


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

Ассемблер? Это просто! Учимся программировать (FAQ)
______________________________________

Выпуск N 051

Вопросы, которые поступили от подписчиков рассылки
"Ассемблер? Это просто! Учимся программировать"

Дата выхода: 2001-08-07


Вопрос №435

Странные дела: Я бы хотел, чтоб вот эта програмулька читала с клавиатуры до 64Кб, но она больше 80h не хочет(Гудит динамиком как DOS функция 0Ah когда в буфер больше не влазит).

.model tiny
.code
org 100h
main:
mov ah,3fh
xor bx,bx ;STDIN т. е. клавиатура
mov cx,64000
mov dx,offset buffer
int 21h
ret
buffer db 64002 dup (' ') ;дополнительно два байта
end main ;для символов 0Dh,0Ah

Может кто знает,это бред либо так и должно быть.Последнее крайне не желательно, т. к. мне в своей программе(не в этой, конечно) необходимо уметь читать с клавиатуры до 64Кб.

Ответ

Здравствуйте, Alexander!
Проверил твой кусок проги - у меня на машине все работает :(
Я запускал в ДОС окне Вин98СЕ
Значит глюка не здесь, а в остальном коде, что ты не прислал,
присылай полностью, будем разбираться


Отправил эксперт: Sensey
Эксперт отправил ответов (всего): 51

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №439

Приветствую всех!
Помогите разрешить трабл такого плана:
Дано: проц в защищенном режиме, IDT,GDT и прочее в порядке.
Надо: запустить задачу в режиме виртуального 8086 и как из нее переключиться на любую другую задачу.
И вообще, где в Инете есть доки по режиму V8086?
Воинствующий ламер.

Ответ

Здравствуйте, Воинствующий ламер!
Я думаю, такую инфу скоро предоставит Дрон в своей рассылке, так что подпишись
ЗЫ. Это не реклама? :)))


Отправил эксперт: Sensey
Эксперт отправил ответов (всего): 52

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №437

Здравствуйте, эксперты!
В прошлом выпуске был вопрос, как восстановит прежнюю скорость CD-ROM'a,
а меня интересует, как понизить его скорость, а то надоело уже его разбирать
и осколки от дисков вынимать? Знаю, программы соответствующие есть, но где
найти не знаю, да и может другой способ есть! Подскажите!

Ответ

Здравствуйте, Orlando!
Используй CD Slow


Отправил эксперт: Denis K
Эксперт отправил ответов (всего): 13

Экспертная группа: Пользовательская работа с Windows

Вопрос №437

Здравствуйте, эксперты!
В прошлом выпуске был вопрос, как восстановит прежнюю скорость CD-ROM'a,
а меня интересует, как понизить его скорость, а то надоело уже его разбирать
и осколки от дисков вынимать? Знаю, программы соответствующие есть, но где
найти не знаю, да и может другой способ есть! Подскажите!

Ответ

Здравствуйте, Orlando!
Попробуй CD Slow.


Отправил эксперт: Роман
Эксперт отправил ответов (всего): 18

Экспертная группа: Пользовательская работа с Windows

Вопрос №440

Уважаемые эксперты!
Может кто подскажет, как избавиться от каракуль в Dos'e,
а то я всё перепробовал!(Windows переустонавливал)

Ответ

Здравствуйте, Orlando!

Ты имеешь в виду отсутсвие русского шрифта ??

Тогда добавь в CONFIG.SYS строчку


DEVICEHIGH=C:\WINDOWS\COMMAND\display.sys con=(ega,,1)


А в AUTOEXEC.BAT три строчки:


mode con codepage prepare=((866) c:\windows\command\ega3.cpi)
mode con codepage select=866
keyb ru,,c:\windows\command\keybrd3.sys


При условии, конечно, что МастДай стоит у тебя в каталоге C:\WINDOWS..


Отправил эксперт: Nik
Эксперт отправил ответов (всего): 46

Экспертная группа: Пользовательская работа c DOS

Вопрос №435

Странные дела: Я бы хотел, чтоб вот эта програмулька читала с клавиатуры до 64Кб, но она больше 80h не хочет(Гудит динамиком как DOS функция 0Ah когда в буфер больше не влазит).

.model tiny
.code
org 100h
main:
mov ah,3fh
xor bx,bx ;STDIN т. е. клавиатура
mov cx,64000
mov dx,offset buffer
int 21h
ret
buffer db 64002 dup (' ') ;дополнительно два байта
end main ;для символов 0Dh,0Ah

Может кто знает,это бред либо так и должно быть.Последнее крайне не желательно, т. к. мне в своей программе(не в этой, конечно) необходимо уметь читать с клавиатуры до 64Кб.

Ответ

Здравствуйте, Alexander!

В клавиатурном буфере помещается всего 10 кодов символов. Когда ты
читаешь 64Кб, то DOS ждёт помещения в буфер 65535 символов, однако,
когда буфер заполняется, BIOS выдаёт звуковой сигнал, т.е. пишит..

Читать надо порциями по 10 байт..
Совет: Сделай цикл.


Отправил эксперт: Nik
Эксперт отправил ответов (всего): 47

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №439

Приветствую всех!
Помогите разрешить трабл такого плана:
Дано: проц в защищенном режиме, IDT,GDT и прочее в порядке.
Надо: запустить задачу в режиме виртуального 8086 и как из нее переключиться на любую другую задачу.
И вообще, где в Инете есть доки по режиму V8086?
Воинствующий ламер.

Ответ

Здравствуйте, Воинствующий ламер!

На Яndex не пробовал заходить??

А вообще, посмотри на сайте http://welcome.to/pmode...
Кстати, это не шутка, такой сайт действительно есть и ведёт его
Алексей Фрунзе..


Отправил эксперт: Nik
Эксперт отправил ответов (всего): 48

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №438

Приветствую всех!
Помогите разрешить трабл такого плана:
Дано: проц в защищенном режиме, IDT,GDT и прочее в порядке.
Надо: запустить задачу в режиме виртуального 8086 и как из нее переключиться на любую другую задачу.
И вообще, где в Инете есть доки по режиму V8086?
Воинствующий ламер.

Ответ

Как ты думаешь, что такое "режим виртуального 8086"?! Это и есть реальный режим!!! Так что думаю вопрос про доки отпадает сам собой... Насчет переключения из защищенного режима в реальный нужно:
1. Установить границы сегментов
2. Загрузить "теневые" регистры
3. Сбросить первый бит CR0
4. Инициализировать все сегментные регистры
ну и по мелочи: разрешить прерывания (надеюсь, ты их запретил предварительно?) и т.п.
Данный метод НЕ является универсальным, более того, я б даже не рекомендовал его использовать, но он самый легкий ;)
для ясности (;) высылаю нужный кусок проги...

Приложение:


Отправил эксперт: Broken Sword
Эксперт отправил ответов (всего): 7

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №440

Уважаемые эксперты!
Может кто подскажет, как избавиться от каракуль в Dos'e,
а то я всё перепробовал!(Windows переустонавливал)

Ответ

Здравствуйте, Orlando!

Способ 1. создайте файлы (разместив их в корневом каталоге) autoexec.bat со следующем содержанием:
mode con codepage prepare=((866) C:\WINDOWS\COMMAND\ega3.cpi)
mode con codepage select=866
keyb ru,,C:\WINDOWS\COMMAND\keybrd3.sys
И файл config.sys с таким текстом:
device=C:\WINDOWS\COMMAND\display.sys con=(ega,,1)
Country=007,866,C:\WINDOWS\COMMAND\country.sys
Способ 2. Если есть файл keyrus.com или keyrus.exe (расширение точно не помню), то просто запустите его или пропишите путь к нему в файле autoexec.bat - должно получиться.
С уважением, Евгений!


Отправил эксперт: Evgeny
Эксперт отправил ответов (всего): 8

Экспертная группа: Пользовательская работа c DOS

Вопрос №441

Скажите можно ли на ассемблере нарисовать круг с заданным радиусом ?

Ответ

Alex, конечно, на ассемблере можно ВСЕ!!! (как и на машине Тьюринга ;))) Лови кусок проги, кстати же, безбожно содранной с Зубков С.В. сильно в алгоритм не вникай, я сам не очень допонял...

Приложение:


Отправил эксперт: Broken Sword
Эксперт отправил ответов (всего): 8

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №440

Уважаемые эксперты!
Может кто подскажет, как избавиться от каракуль в Dos'e,
а то я всё перепробовал!(Windows переустонавливал)

Ответ

Поставь любые дрова на русский шрифт в ДОС-е...
тока по-моему все это уже все настолько устарело, что создателям рассылки пора подумывать об открытии новой рубрики - "РЕТРО"...


Отправил эксперт: Broken Sword
Эксперт отправил ответов (всего): 9

Экспертная группа: Пользовательская работа c DOS

Вопрос №443

Здравствуйте, эксперты.
Вы не в курсе,можно ли создать раздел чистой DOS,хотя бы не большой, на винтах с объемом большим 8 Гб? Если можно, то как?

Ответ

Здравствуйте, Ransom!

Можно. Создавайте его до барьера в 8GB (Например, с самого начала
диска, или с середины, но так, чтобы он не выходил за границы
8GB!)


Отправил эксперт: Nik
Эксперт отправил ответов (всего): 49

Экспертная группа: Модели, виды и типы компьютеров (hard)

Вопрос №441

Скажите можно ли на ассемблере нарисовать круг с заданным радиусом ?

Ответ

Здравствуйте, Alex!

Можно


Отправил эксперт: Василий
Эксперт отправил ответов (всего): 11

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №437

Здравствуйте, эксперты!
В прошлом выпуске был вопрос, как восстановит прежнюю скорость CD-ROM'a,
а меня интересует, как понизить его скорость, а то надоело уже его разбирать
и осколки от дисков вынимать? Знаю, программы соответствующие есть, но где
найти не знаю, да и может другой способ есть! Подскажите!

Ответ

Здравствуйте, Orlando!
Я уже отвечал. Вот сайт , человека, который написал эту программу.


Отправил эксперт: Andy Bitoff (http://bitoff.pisem.net - HomePage)
Эксперт отправил ответов (всего): 12

Экспертная группа: Пользовательская работа с Windows

Вопрос №441

яЙЮФХРЕ ЛНФМН КХ МЮ ЮЯЯЕЛАКЕПЕ МЮПХЯНБЮРЭ ЙПСЦ Я ГЮДЮММШЛ ПЮДХСЯНЛ ?

Ответ

HELLO, Alex!
Конечно можно. Берёшь уравнение окружности (x-x0)^2+(y-y0)^2=R^2
Решаешь его относительно того, что нужно и всё (перевести в канонический вид можно)или можно нарисовать окружно с помощью sin & cos.


Отправил эксперт: Alex2000
Эксперт отправил ответов (всего): 17

Экспертная группа: нАЫХЕ БНОПНЯШ ОН ОПНЦПЮЛЛХПНБЮМХЧ МЮ юЯЯЕЛАКЕПЕ ОНД DOS

Подписаться на рассылки

Рассылки Subscribe.Ru
Ассемблер? Это просто! Учимся программировать
Ассемблер? Это просто! Учимся программировать (FAQ)

Форма подачи вопроса

ВНИМАНИЕ!!! Пожалуйста, НЕ высылайте один вопрос сразу нескольким подгруппам! Дополнения к вопросам, на которые эксперт уже ответил НЕ следует направлять ведущему рассылки (я не успеваю!). Просто скомбинируйте первый вопрос и дополнение к нему, а затем заново отправьте его, используя приведенную ниже форму!

Нажимайте кнопку "Отправить" только ОДИН раз и дождитесь полной загрузки страницы, иначе вопрос будет продублирован!


Ваше имя *:

Ваш e-mail *:

Подгруппы:

Вопрос *:

Прилагаемая программа (если необходимо):


Регистрация в качестве эксперта

Архив выпусков


Ведущий рассылки,

Калашников Олег: Assembler@Kalashnikoff.ru
ICQ No.:
68951340
URL сайта подписчиков: http://www.Kalashnikoff.ru

______________

По вопросам сотрудничества, рекламы и спонсорства обращайтесь:

  1. Публичное размещение материала из рассылки: Cooperation@Kalashnikoff.ru
  2. Реклама на сайте, в книге и рассылках: http://www.Kalashnikoff.ru/Reklama.html, Reklama@Kalashnikoff.ru
  3. Издание книги (спонсорство): Sponsor@Kalashnikoff.ru

Рассылка 'Ассемблер? Это просто! Учимся программировать (FAQ)' Рассылка 'Ассемблер? Это просто! Учимся программировать'


(C) Москва, 2001. Авторское право принадлежит Калашникову О.А. Публичное размещение материала из рассылки, а также его использование полностью или частично в коммерческих или иных подобных целях без письменного согласия автора влечет ответственность за нарушение авторских прав.


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться Рейтингуется SpyLog

В избранное