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

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


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

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

Выпуск N 045

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

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


Вопрос №393

Здравствуйте. У меня есть вопрос по резиденту в 10-ом номере. Вот его кусок:
Ok_09:
push ds
push dx
push cs
pop ds
mov dx,offset My_string
pushf ; здесь (как я понял) сохраняются регистры флагов в стеке
call dword ptr cs:[Int_21h_vect]
pop dx ; а здесь идет восстанвление dx из стека, как это понять? Ведь вершина стека popf?
pop ds
С ув. Алексей.

Ответ

Здравствуйте, Алексей!
Вся фигня в том, что обработчик вызываемый
call dword ptr cs:[int_21_vect]
завершается командой iret которая при выходе из обработчика загружает из стека значения ip, cs и flags. Процессор при использовании call для дальнего перехода сохраняет в стеке cs и ip, ну а flags сохраняется командой pushf.


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

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

Вопрос №396

Здравствуйте ув. эксперты!
У меня такой вопрос: Как заставить принтир Okipage 8W
печатать в DOS очень мелким шрифтом, там сделано так что стоит резидент и перекодирывает из досной кодировки в маздайную и у него самый мелкий шрифт - 10:(

Ответ

Здравствуйте, Dr. Zombie!
Попробуйте использовать графическую печать.


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

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

Вопрос №397

Здравствуйте.
Как можно получить системное время, не используя прерываний.
Если можно, то с исходниками.
Заранее спасибо.

Ответ

Здравствуйте, Павел!
Читайте CMOS, на прямую.


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

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

Вопрос №379

Уважаемые Эксперты.
У меня тут возникла небольшая проблема.
Я пишу резидентную программу, которая выводит примерно 18 раз в секунду строку '123456789' с нулевой позиции экрана.
Программа нормально ассемблируется, но при запуске com файла постоянно возникает ощибка "Программа выполнила некоректную функцию..."
Помогите, пожалуйтста, найти и исправить ощибку.
Заранее спасибо.

Ответ

Здравствуйте, Павел!Я не помню чтобы в COM файлах использовалось
org100h, и зачем тебе столько CSEG ,выдели хотя бы один сегмент под данные.


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

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

Вопрос №386

Здравствуйте эксперты!
Решил самостоятельно написать резидент. Написал и он вроде работает. При нажатии клавиши F12 на экран выводится "Hallo World!!!". Но вот в чем проблема, если держать клавишу F12 и не отпускать ее, то программа вешает компьютер или выдается ошибка. Перепробывал все известные способы вывода информации на экран (int 21h, lodsb-stosw, mov [di],al), но все равно виснет. Подскажите, в чем проблема. Программа прилагается.

Ответ

Здравствуйте, Dmitry!
Попробуйте сохранять флаги.

Приложение:


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

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

Вопрос №376

Уважаемые эксперты, у меня к вам вопрос.
Нельзя ли как-нибудь заставить masm (версия 6.10) работать под Виндовсом, а то очень муторно, т.к. для чтения уроков нужен виндовс (ворд, html), а для компиляции ДОС (иначе Виндовс ругается), вот и приходится туда-сюда перегружаться.

Ответ

Здравствуйте, electronic!
Пользуйся тасмом, он в режыме масма, работает по умолчанию, и даже
ошибки повторяет.


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

Экспертная группа: Работа с MASM/TASM

Вопрос №387

оПХБЕР.
с ЛЕМЪ РЮЙНИ БНОПНЯ.
мЮЛМНЦН КХ THUNDERBIRD 800 КСВЬЕ DURON 800?
цНБНПЪР, ВРН КСВЬЕ ОПНХГБНДХРЕКЭМНЯРЭ, МН МЮЯЙНКЭЙН КСВЬЕ?

Ответ

гДПЮБЯРБСИРЕ, Dr. Nix!
вРНАШ ПЮГЦНБЮПХБЮРЭ МЮ РЕЛС "МЮЯЙНКЭЙН КСВЬЕ", МЮДН НОПЕДЕКХРЭЯЪ ДКЪ ВЕЦН АСДЕЛ ХЯОНКЭГНБЮРЭ Х Б ВёЛ УНПНЬЕЯРЭ ЛЕПЪРЭ.

ю ОН АНКЭЬНЛС ЯВёРС ЛНФМН ОПНБЕЯРХ ЮМЮКНЦХЧ Я Pentium II(III) - Celeron


Отправил эксперт: яРЮЯ
Эксперт отправил ответов (всего): 1

Экспертная группа: лНДЕКХ, БХДШ Х РХОШ ЙНЛОЭЧРЕПНБ (hard)

Вопрос №394

Здравствуйте эксперты!
Подскажите, плиз, можно ли, и если можно, то каким образом
узнать, обращается ли компьютер к HD/FD/CD-ROM.
Всем изветсны лампочки на системном блоке(для HD), лампочка на CD-ROM и Floppy Drive, служащие для индикации обращения
к устройству. Хотелось бы вывести подобие этих лампочек к примеру в SysTray(системник стоит далеко от глаз, а посматривать на эти индикаторы уж очень нужно).
Интересна процедура на ассемблере(вряд ли на ЯВУ можно это реализовать), которая возвращала бы к примеру 0, если к драйву нет обращения и 1 - если есть.
Еще в BIOS также отображается температура процессора, хотелось бы так же "выцарапать" ее в Винду и написать индикатор. Любые мысли и предложения приветсвуются :)
Заранее спасибо!

Ответ

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

для определения температуры процессора может лучше использовать
программы типа CPUIDLE,MOTHERBOARD Monitor


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

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

Вопрос №381

Срочно необходима как можно более полная информация по объектно-ориентированному программированию на Ассемблере (например, под TASM 3.0), желательно с примерами программ (только, пожалуйста, не из Examplе'ов, поставляемых вместе с BC 3.1). Буду премного благодарен за помощь.

Ответ

Здравствуйте, Василий В интернете искать не пробовал


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

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

Вопрос №378

На каком прерываниие висит мышь PS/2
Какие у нее порты ввода вывода
И как с ps/2 вообще работать.

Я работаю в защищенном режиме и никакие функции и прерываний реального режима мне не доступны.

Ответ

Здравствуйте, шмуль
в защищённом режиме используется IDT (таблица дескрипторов прерываний)
в ней находятся указатели на обработчики прерываний(твои собственные).
побольше читай литературы


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

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

Вопрос №390

Скажите пожалуйста, где я могу достать информацию
о новых функциях BIOS по работе с жесткими дисками
большой емкости (прерывание 13h функции > 41h, если
я не ошибаюсь). Будут интересны и другие новые
функции BIOS (точнее функции новых BIOS).
Заранее спасибо.

Ответ

Здравствуйте, Павел!
возьми на сайте www.phoenix.com.{поиск по слову specifications)
А вот полная ссылка:
http://www1.phoenix.com/PlatSS/products/specs.html


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

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

Вопрос №399

Привет.
Подскажите, где я могу достать информацию о стандарте VESA и о его режимах?

Если у кого есть прям на жестком диске, вышлите плз на stepan@hotbox.ru

Ответ

Здравствуйте, Stepan Yar!
Если нужна более менее подробная информация о VESA и на русском языке можно почитать книгу "Программирование видеоадаптеров" (Фроловы А.В. и Г.В., Диалог-МИФИ). Но там большее внимание всё-таки уделяется портам видеоадаптера. Также можно почитать спецификацию VESA. Постараюсь в ближайшее время выслать Вам накопленную информацию.


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

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

Вопрос №373

Привет.
Ув. Эксперты, раскажите пожалуйста как в компьютере хранятся числа с запятой. Т.е. как с помощью нулей и единиц представить число с запятой. На примере сопроцессора. (80 бит)

Ответ

Здравствуйте, Оксана!

Одинарная точность
1 8 23 бита
+----+-------+--------+
¦Знак¦Порядок¦Мантисса¦
+----+-------+--------+

Двойная точность
1 11 52 бита
+----+-------+--------+
|Знак¦Порядок¦Мантисса¦
+----+-------+--------+

Расширенная точность
1 15 64 бита
-----+-------+--------+
¦Знак¦Порядок¦Мантисса¦
+----+-------+--------+

Знак = 0 - положительное, = 1 - отрицательное число.


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

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

Вопрос №375

Приветствую эксперов !
Кто мне может чего сказать про книгу "Assembler для DOS, Windows и UNIX" - стоит ли ее покупать или нет ?
Заранее благодарен !

Ответ

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

Да, наверное, лишняя книжка не когда не помешает, особенно для начинающего


Отправил эксперт: VD (vdragon-pas.chat.ru - Программирование графики на Пакаль со вставками на)
Эксперт отправил ответов (всего): 16

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

Вопрос №387

Привет.
У меня такой вопрос.
Намного ли THUNDERBIRD 800 лучше DURON 800?
Говорят, что лучше производительность, но насколько лучше?

Ответ

Здравствуйте, Dr. Nix!
Сандер конечно лучше, но если ты будешь брать проц за свои деньги :)
то бери Дюрон 750
Разница в цене 750 дюрона и 800 дюрона 12-15$, соответственно, а прирост производительности 4-5%, а сандер еще дороже
В общем между 750 Дюроном, 800 Дюроном и 800 Сандером выбирай только по цене - сколько уе не жалко


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

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

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

Рассылки 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

В избранное