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

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


Служба Рассылок Subscribe.Ru

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

Выпуск N 159

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

Дата выхода: 2001-12-20


ВНИМАНИЕ! ВНИМАНИЕ! ВНИМАНИЕ!

Начинается тестирование новых экспертных групп!

Абсолютно ВСЕ желающие (эксперты и подписчики) могут принять участие в тестировании и посмотреть, что представляет собой новая система. Затем будет проведено голосование.

______________

Указания по тестированию:

  1. Если Вы уже являетесь экспертом, то придется зарегистрироваться вновь, т.к. новая система имеет отдельную базу данных. Регистрация проводится здесь: http://www.Kalashnikoff.ru/cgi-bin/Expert.cgi. Вопросы задаются здесь: http://www.Kalashnikoff.ru/cgi-bin/Message.cgi. В дальнейшем, если система не потерпит фиаско, старая база с экспертами (включая кол-во набранных баллов и отправленных ответов) будет конвертирована в новую. Статусы будут назначаться в соответствии с кол-вом уже набранных баллов / 2.

  2. По умолчанию всем экспертам при регистрации будет назначен статус "НАЧАЛЬНЫЙ". Ответы, естественно, попадать подписчику (эксперту), отправившему "вопрос", не будут! Здесь есть два варианта: я периодически буду выставлять статусы экспертам случайным образом. Кто-то может оказаться "Профессиональным", кто-то - "Привилегированным" и т.д. Либо эксперт, участвующий в тестировании, отправит 10 "ответов".

  3. В вопросе / ответе можно писать все, что душе угодно. Эта информация в рассылку НЕ попадает (отдельная база). Скажу честно: рассылка вообще выходить не будет. Чем большее сообщений будет отправлено, тем больше система будет протестирована на надежность и жизнеспособность.

  4. В процессе тестирования система будет доводиться до совершенства, согласно вашим пожеланиям, которые можно направлять по адресу Experts@Kalashnikoff.ru.

  5. Из тестирования можно выйти в любой момент, удалив себя из базы данных.

______________

Дополнительная информация.

Система еще до конца не дописана (осталась самая малость), хотя код уже составляет порядка 100Кб. Полагаю, что до конца текущей недели все будет доделано.

Теги теперь вставлять нельзя. Они просто не будут приниматься. Это связано с защитой против "умельцев" вставлять в формы скрипты, который делают разные пакости (запускают браузеры с каким-нибудь сайтом, вирусоподобные механизмы и пр.).

HTML-код всех писем и страниц разработан и отлажен для IE (у меня стоит 6.0, но уверен, что работать должно и на 4.0). Если Opera, NetScape и пр. будут "глючить" - это их проблемы. Хотя, возможно, я и исправлю ошибки со временем (если таковые обнаружатся).

______________

Огромная просьба:

Если вы заметите ошибки, то пишите мне по адресу Experts@Kalashnikoff.ru.

______________

За чем нужно следить в процессе тестирования:

Обращайте внимание на количество набираемых баллов и ответов и правильность их подсчета (это можно наблюдать в вашей регистрационной карте).

______________

Что недоделано:

В ответе, высылаемом подписчику, не вставляется приложение, если таковое было введено экспертом. Скоро сделаю...


Буду очень благодарен всем, принявшим участие в тестировании. Этим вы мне безгранично поможете!

Спасибо за внимание!

Управлящий рассылкой,
Калашников Олег.


НОВОСТЬ

На сайте http://rusproject.narod.ru (Русский проект: Visual Basic на русском) выложены многие выпуски основной рассылки "Ассемблер? Это просто! Учимся программировать" в формате справки Windows. Очень наглядно и удобно!

Выражаю благодарность Александру Климову!


Вопрос №1893

Здравствуйте.
Я уже задавал этот вопрос (1806), но повторюсь.
---------------------------------------------------
Имеется Shareware версия универсального DOS-овского просмотрщика/проигрывателя QuickView Pro Ver. 2.46 (тянет даже DivX). (Если кому интересно можно скачать здесь: http://multimediaware.com/qv/). Может у кого есть кряк или кейген к нему или хоть к версии 2.45?
----------------------------------------------------
Эксперт x-gn ответил:
Сходи на CRACK.RU
Там есть все
----------------------------------------------------
Да был я там и ещЈ много где лазил - всего там как раз и нету.
Тут есть небольшая путаница, существуют 2 вида софта с одинаковым названием "QuickView".
Одно - HEX-гляделка/редактор.
Другое - это просморщик (под DOS) графических файлов, видео (в том числе DivX) и аудио (WAV, MP3).
Меня интересует, как раз, взлом последнего.
Михаил

Ответ

Здравствуйте, Михаил!

На днях запустили в меня этой вешью.

Как только разберусь с делами, буду крякать.


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

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

Вопрос №1893

Здравствуйте.
Я уже задавал этот вопрос (1806), но повторюсь.
---------------------------------------------------
Имеется Shareware версия универсального DOS-овского просмотрщика/проигрывателя QuickView Pro Ver. 2.46 (тянет даже DivX). (Если кому интересно можно скачать здесь: http://multimediaware.com/qv/). Может у кого есть кряк или кейген к нему или хоть к версии 2.45?
----------------------------------------------------
Эксперт x-gn ответил:
Сходи на CRACK.RU
Там есть все
----------------------------------------------------
Да был я там и ещЈ много где лазил - всего там как раз и нету.
Тут есть небольшая путаница, существуют 2 вида софта с одинаковым названием "QuickView".
Одно - HEX-гляделка/редактор.
Другое - это просморщик (под DOS) графических файлов, видео (в том числе DivX) и аудио (WAV, MP3).
Меня интересует, как раз, взлом последнего.
Михаил

Ответ

Здравствуйте, Михаил!

На днях запустили в меня этой вешью.

Как только разберусь с делами, буду крякать.

С уважением, root.


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

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

Вопрос №1901

Винчестер разбит на два логических диска.На c:Win98SE (поверх установлен WinBeOS98 III), а на d:Win2000-установлена позже.При загрузке 98SE, после появления фона
рабочего стола, выскакивает "синий экран" с сообщением:
32-разрядный драйвер устройства CDROWD(01)+0000AD23
попытался обратиться к незагруженной системной службе.
Возможно нормальное продолжение работы.
После троекратного нажатия любой клавиши продолжается нормальная загрузка. При запуске "Мастера установки
оборудования" - опять "синий экран".После однократного
нажатия клавиши - нормальное продолжение работы.
При запуске Win2000 нет никаких проблем.
Прошу ответить: limonnik@km.ru

Ответ

Здравствуйте, anat!
Скорее всего, данная ситуация происходит из-за того, что в реестре Виндов прописан какой-то статистический драйвер или наоборот, чего-то там не хватает (что в Вашем случае больше похоже на правду). Так что если нет резервной копии реестра, то посоветовать что-либо сложно. Можно, конечно, попробовать найти записи реестра в ручную, но это холопотно. Тем более, если Вы с реестром никогда не имели дело, то это практически нереально. :(
Я бы посоветовал переустановить Винды, но и тут загвоздка: ведь 98-е затрут бут-сектор и загрузить 2000-е будет невозможно, так что придется и их переставлять.

ЗЫ: Насколько мне известно, все статические драйвера, которые должны быть загружены и ссылки на которые имеются находятся в реестре по этому адресу HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD , так что можете попробовать, но если что, то я Вам ничего не говорил. :)))


Отправил эксперт: Tiger (www.tigeer.narod.ru - Что-то вроде того)
Эксперт отправил ответов (всего): 16

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

Вопрос №1903

Уважаемые Мэтры!
Есть внешнее программируемое устройство с по байтной арифметикой
Задача:
Регистр R1 - младший байт числа формата 0FFF (т.е. 4095)
R2 - старший
Нужно получить в регистрах A1,A2,A3,A4
числа 4, 0, 9, 5

Команды ассемблеровские (синтактически), только байтовые а не целые. В этом все и дело!

Ответ

Здравствуйте, Juris!
Вот пожалуйста! Писал минут сорок, не меньше!! Но все равно остались вопросы кой какие.. (см. после листинга программы)
Листинг программы:
mov A1,4
xor A2,A2
mov A3,9
mov A4,5

компиль ТАСМ-ом с ключом /9 (девять проходов)

ТО,что после листинга программы:
1. "по байтная арифметика"? what's this?
2. Что это за "формат" 0FFFh ???? Может, вы имели ввиду формат mp3 ?
2. и причем здесь R1 вообще?
3. Что такое "синтактически"? Может, "симпатически"? Тогда при чем здесь чернила?
4. Да, и объясните разницу между "байтовой" и "целой" командой. Ведь В ЭТОМ ВСЕ ДЕЛО!!! А я почему-то упустил этот ВАЖНЫЙ момент... ;(

P.S. Специально не смотрел, скока ответов отправлено на этот вопрос. Поэтому боюсь опазориться. :)Надеюсь, не будет ответов, типа: "Да. У меня была такая же проблема в восемьдесят девятом году... Я решил ее вот так... (и пошел код на 30 страниц)" ато позор мне обеспечен навеки! :)
Но скорее волноваться нечего. Это просто шифровка кому то из экспертов... скоро начнется революция! Интересно, кто будет Лениным на этот раз? Пиво - страшная штука! )) Пиши еще.
(закосил под конец под бухого чегото... чтобы позор был не так страшен?) :) пил пил. но днем еще.


Отправил эксперт: Broken Sword (ОНПУ, ИКС, АС-991 - )
Эксперт отправил ответов (всего): 259

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

Вопрос №1905

Здравствуйте эксперты!
2Dron, я не совсем то просил, что вы сделали. Я просил посмотреть на мою программу и сказать, что там лишнее и как можно исправить, а не представлять
свое виденье проблемы.:-) Ну да ладно, не важно сам не уточнил, что хочу, сам и виноват, а вот за прогу спасибо, я в нее еще не до конца воткнул, но сейчас добью.:-)
2Painbringer & Broken Sword Спасибо за критику.:-) Вот посидел еще чуть-чуть, меньше получилось и call-ов меньше, правда пришлось несколько идей у Dron-a свиснуть(что ж поделать раз сам не догнал).:-) Вот, посмотрите, только уже скажите относительно моей программы, что можно изменить, а не свои пишите. Пожалуйста! Ну хоть чуть, чуть! Да, еще я не понял, что ради быстродействия в не которой степени можно пожертвовать размером?
ЗЫ: Уважаемый эксперт Dron уже высказал желание позаниматься оптимизацией программы и уважаемый эксперт Broken Sword сказал, что он напишет программу с первого раза меньше чем 300кб. Очень хотелось бы посмотреть, чем все это закончится!;-)
ЗЫЫ: Вот такой я подстрекатель.:-)
ЗЫЫЫ:2Broken Sword - а я и не обижаюсь, я еще не волшебник, а только учусь...:-)

Ответ

Здравствуйте, ILYA D.!
Конечно, Спасиба тебе огромное (я насчет 300кб)!!! Ты мне льстишь однозначно. Тут нада конечно сильно постараться, но я думаю, если убрать музычку и видео в начале, то думаю влезть :)
Теперь о проге...

Чето call-ов маловато как то.. всего то их у тебя три! ну куда это годится? щас без call-ов - никуда! call-ы всему голова!!! я считаю программа без call-ов - и не смеет называться программой вовсе. Call-ов их ведь чем больше, тем круче и солиднее прога!! :)

Ладна, по делу я б сократил в месте, де ты выводишь на экран через 2 ф-цию 21h прерывания. Там на самом деле нада все операции производить в ah, а выводить al (!) посредством ОДНОЙ команды int 29h. И вообще у тебя по всей проге сплошная вторая функция 21h прерывания! просто ужас какой-то! позаменяй все на int 29h и оставь ты этот несчатсный dl в покое!!! у тебя ж al все время без дела болтается!!! и слабо разве input_key
mov bl,al
mov dl,'=' ; тут исправишь
mov ah,2 ; сам знаешь
int 21h ; на что!!!!
call bincode в процедуру замутить??? чего его лепить два раза одно и то ж самое?
Не, вообще я просто не люблю чужой код. :) так что не трогай call-ы, пусть себе покояться с миром...

p.s. где делся Вал.Ик??? неужто "забрали" уже? )


Отправил эксперт: Broken Sword (ОНПУ, ИКС, АС-991 - )
Эксперт отправил ответов (всего): 260

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

Вопрос №1903

Уважаемые Мэтры!
Есть внешнее программируемое устройство с по байтной арифметикой
Задача:
Регистр R1 - младший байт числа формата 0FFF (т.е. 4095)
R2 - старший
Нужно получить в регистрах A1,A2,A3,A4
числа 4, 0, 9, 5

Команды ассемблеровские (синтактически), только байтовые а не целые. В этом все и дело!

Ответ

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

С байтами довольно сложно. Думать особо некогда, да и на асм переписывать лень. Алгоритм простой, но не эффективный, да и перенести на устройство будет сложновато.

Алгоритм:

Проходим по всем битам и для каждого установленного бита добавляем в сумматор количество единиц, соответствующее порядку бита:











Биты 7     6   5  4  
3 2 1 0
Числа 128 64 32 16 8 4 2 1
Единицы 8     4   2  6  
8 4 2 1


Остаток от деления сумматора на 10 есть крайняя правая цифра.
Делим сумматор нацело на 10 ( x/=10 ), фактически, AL после деления.
Повторяем то же для десятков, получаем вторую цифру справа и т. д.

С уважением, root.

Приложение:


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

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

Вопрос №1907

Уважаемые эксперты!

У меня был IE5.0, в нем я щёлкал по ссылке мышкой и держал shift
и открывалось новое окно, в Outlookе тоже самое.
А теперь (после того как в проводнике и моём компьютере перестала
ставиться галочка как веб-страница (там переключение происходило
и в этом состоянии ничего видно небыло)) поставил IE5.5 и новое окно
не появляется даже посе правого клика мышкой открыть в новом окне.
ЧТО ДЕЛАТЬ?
PS: переутановить винду и IE не предлагать.

Ответ

Здравствуйте, WE!
Попробуй зайти в "Свойства обозревателя" и все там посбрасывать - в закладке "Программы" нажать "Сброс веб-настроек", а в закладке "Дополнительно" - "Восстановить значения по умолчанию".


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

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

Вопрос №1901

Винчестер разбит на два логических диска.На c:Win98SE (поверх установлен WinBeOS98 III), а на d:Win2000-установлена позже.При загрузке 98SE, после появления фона
рабочего стола, выскакивает "синий экран" с сообщением:
32-разрядный драйвер устройства CDROWD(01)+0000AD23
попытался обратиться к незагруженной системной службе.
Возможно нормальное продолжение работы.
После троекратного нажатия любой клавиши продолжается нормальная загрузка. При запуске "Мастера установки
оборудования" - опять "синий экран".После однократного
нажатия клавиши - нормальное продолжение работы.
При запуске Win2000 нет никаких проблем.
Прошу ответить: limonnik@km.ru

Ответ

Здравствуйте, anat!
Удали из системы лишние девайсы ну типа контролер удаленного доступа или Dial-up adapter(если есть) и переставь винду..


Отправил эксперт: змей
Эксперт отправил ответов (всего): 151

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

Вопрос №1907

Уважаемые эксперты!

У меня был IE5.0, в нем я щёлкал по ссылке мышкой и держал shift
и открывалось новое окно, в Outlookе тоже самое.
А теперь (после того как в проводнике и моём компьютере перестала
ставиться галочка как веб-страница (там переключение происходило
и в этом состоянии ничего видно небыло)) поставил IE5.5 и новое окно
не появляется даже посе правого клика мышкой открыть в новом окне.
ЧТО ДЕЛАТЬ?
PS: переутановить винду и IE не предлагать.

Ответ

Здравствуйте, WE!
посмотри в свойствах обозревателя
там будет вигня такая типа:
загружать окна обозревателя в отдельном процессе
поставь туды галку...


Отправил эксперт: змей
Эксперт отправил ответов (всего): 152

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

Вопрос №1902

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

Ответ

Здравствуйте, Maratych!
На сайтах производителей, да и просто по поисковикам полазай...


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

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

Вопрос №1905

Здравствуйте эксперты!
2Dron, я не совсем то просил, что вы сделали. Я просил посмотреть на мою программу и сказать, что там лишнее и как можно исправить, а не представлять
свое виденье проблемы.:-) Ну да ладно, не важно сам не уточнил, что хочу, сам и виноват, а вот за прогу спасибо, я в нее еще не до конца воткнул, но сейчас добью.:-)
2Painbringer & Broken Sword Спасибо за критику.:-) Вот посидел еще чуть-чуть, меньше получилось и call-ов меньше, правда пришлось несколько идей у Dron-a свиснуть(что ж поделать раз сам не догнал).:-) Вот, посмотрите, только уже скажите относительно моей программы, что можно изменить, а не свои пишите. Пожалуйста! Ну хоть чуть, чуть! Да, еще я не понял, что ради быстродействия в не которой степени можно пожертвовать размером?
ЗЫ: Уважаемый эксперт Dron уже высказал желание позаниматься оптимизацией программы и уважаемый эксперт Broken Sword сказал, что он напишет программу с первого раза меньше чем 300кб. Очень хотелось бы посмотреть, чем все это закончится!;-)
ЗЫЫ: Вот такой я подстрекатель.:-)
ЗЫЫЫ:2Broken Sword - а я и не обижаюсь, я еще не волшебник, а только учусь...:-)

Ответ

Здравствуйте, ILYA D.!

Ну уже лучше конечно. :))
Заместо ah=2 int 21h лучше использовать int 29h
Короче на 2 байта... и на одну команду собственно. :)

Почему на choose не используешь write???
Ну а в остальном - уже не плохо. :) только зачем столько ветвлений? :)) (все то нам не так? :))


Отправил эксперт: Dron (http://spawnhole.narod.ru/asmos/asmos.html - Операционная система с нуля!)
Эксперт отправил ответов (всего): 220

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

Вопрос №1913

Здравствуйте, Эксперты!!!
У меня такой вопрос:
Можно ли создать *.res (файл ресурсов) на C Bilder, а потом его прикрепить его к асму т.к. я плохо знаком со структурой *.RC ......

p.s./ Если несложно вышлите примерчик "регистрации класа" и создания окна из ассемблера т.е. хотелось бы увидеть часть до
....
call ShowWindow,[main_win_handle],SW_NORMAL

msg_loop:
call PeekMessageA,offset message,0,0,0,PM_REMOVE
or ax,ax
jz no_message
call IsDialogMessageA,[child_dlg_handle],offset message
....

Ответ

Здравствуйте, Dmitriy!
RES - Да можно.


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

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

Вопрос №1910

Здравствуйте.
У мня вопрос следующего содержания.
Во многих книгах описано прерывание 13h
но максимальное пространство, к которому я могу обращаться при помощи этого прерывания = 1024*255*63 = 8 Gb
тобишь, dh=255, cx=FFFEh
А что делать, если мне надо обратиться к сектору, у которого номер Цилиндра больше, чем 1024?
Алексей.

Ответ

Здравствуйте, Алексей!

Есть INT 13h extension.
Это функции 41h-4fh

Они позволяют обращаться по линейному адресу сектора до сектора, номер которого умещается в 8 байт. (long long) сколько это будет гига или терра или вообще пета байт не могу точно сказать, но много. :)


Отправил эксперт: Dron (http://spawnhole.narod.ru/asmos/asmos.html - Операционная система с нуля!)
Эксперт отправил ответов (всего): 221

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

Вопрос №1914

Расскажите зачем нужна эта опция
пуск->панель управления->мультимедия->аудио->
->воспроизведение->дополнительно->установка динамиков

Здесь можно выбрать (наушники, настольные стерео динамики,
квадрофонические динамики .....)

Но при изменении этого параметра ничего не меняеться:(

Ответ

Здравствуйте, Dmitriy!
Для того, чтобы выбрать звучание(почти как в эквалайзере) (но это смотря для какой у тебя саунд)


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

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

Вопрос №1906

Привет Kgm !!!
Как не крутил твою прогу по выводу разноцветными буквами собсвенного листинга на экран, ничего так и не получилось - прога как мертвая проскакивает в командной строке, хотя и без ошибок. ( пользуюсь TASM 5.0).
Подкажите, Что не так ?

Ответ

Здравствуйте, Shurik!
Причина в том, что я написал болванку и не проверял ее - извини, надеялся, что ты сам доделаешь мелочевку. Ну да ладно...
В ней нашлась простая плюшка (ты бы сам ее нашел, если бы прогнал под TD) - при вызове BIOS int 10h ф-ции 1303h регистр CX был равен 0, а должен указывать кол-во выводимых символов. Еще, как оказалось, для спец. символов (0dh, 0ah, 09h и т.п.) не следует указывать атрибуты, иначе эти атрибуты выводятся как символы (и часто пищат).
Увеличил объем буфера под файл до 4К. И, так на всякий случай, добавил очистку экрана (кстати эта ф-ция почему-то не исполняется под DOS-сессией в NT).
Там есть два варианта инициализации атрибутов выводимых символов - один из них заремирован - они взаимоисключающие.

Приложение:


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

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

Вопрос №1915

Здравствуйте, Эксперты!!!
Расскажите алгоритм добавления к файлу записи т.е. был файл
at.txt
-----
sell
seyd
er
-----


А после выполнения проги будет
-----
sell 1,23
seyd
er
-----

Интересно как это сделать с помошью WinAPI

Ответ

Здравствуйте, Serega!
Алгоритм таков:
1. Ищешь файл at.txt
2. Открываетшь его для чтения/записи
3. Устанавливаешь указатель в начало
4. Ищешь слово sell (по шаблону или как хочешь)
5. Пишишь после найденного слова 1,23
6. Заркываешь файл.
7. Все.


Отправил эксперт: Broken Sword (ОНПУ, ИКС, АС-991 - )
Эксперт отправил ответов (всего): 261

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

Вопрос №1920

Привет!
Хочу поинтересоваться, что такое WatchDog.

Ответ

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

сторожевая собака. :)


Отправил эксперт: Dron (http://spawnhole.narod.ru/asmos/asmos.html - Операционная система с нуля!)
Эксперт отправил ответов (всего): 222

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

Вопрос №1914

Расскажите зачем нужна эта опция
пуск->панель управления->мультимедия->аудио->
->воспроизведение->дополнительно->установка динамиков

Здесь можно выбрать (наушники, настольные стерео динамики,
квадрофонические динамики .....)

Но при изменении этого параметра ничего не меняеться:(

Ответ

Здравствуйте, Dmitriy!
Это нужно для выбора типа колонок, например если у тебя наушники, то выбери наушники, если колонки с сабвуфером для 4 канально карты, выбери квадрофанические колонки.
Насчет разницы в качестве звука не знаю, у меня нет квадрофонических колонок :)


Отправил эксперт: VD (www.chat.ru/~vdragon_pas/index.htm - Программирование графики на Пакаль со вставками на)
Эксперт отправил ответов (всего): 64

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

Вопрос №1920

Привет!
Хочу поинтересоваться, что такое WatchDog.

Ответ

Здравствуйте, Василий!
WatchDog("сторожевая собака")-специальная микросхема, часто встроенная в микроконтроллер, которая сбрасывает процессор при ненаступлении какого-либо события.
То есть(теоретически) она проверяет, не зависла ли система.
Например, в устройстве, что я на днях программировал, ВатчДог надо сбрасывать(посылать ему сигнал сброса) каждые 500 мс. Если он этот сигнал не получил, он сбрасывает центральный процессор.
ЗЫ Посылай в следующий раз вопрос ОДНОЙ подгруппе, пожалуйста!


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

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

Вопрос №1919

Привет!
Хочу поинтересоваться, что такое WatchDog.

Ответ

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

В общем случае - система контроля работоспособности объекта (по русски - "сторожевой пёс"). В частном - устройство (как правило, со своим источником питания и часами), имеющее право "сброса" системы - что приводит её в рабочее состояние. Чтобы эта "собака" не укусила, её саму необходимо переодически сбрасывать - обычно каждые 100-2000 мс.
Кроме того, WatchDog'ом называют программные (или программно/аппаратные) комплексы по защите данных. Последний такой видел лет десять назад.


Отправил эксперт: Артём Шегеда (www.shegeda.chat.ru - Пристанище неодинокого программиста)
Эксперт отправил ответов (всего): 14

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

Вопрос №1912

Здравствуте!!!!!
у меня такой вопрос: когда в запароленом документе msoffice
word'овом вводишь неправильный пароль вылетает сообщение
похожее на MessageBoxA()?, но я ставил в SoftIce
bpx MessageBoxA нифига неполучается, также и непомогло
GetDlgItemTextA. Скажите, что за функция рисует это сообщение??

Ответ

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

Вместо GetDlgItemTextA попробуй hmemcpy.

А насчет что MessageBoxA неработает то скорее всего окно создано
диалоговыми функциями.


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

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

Вопрос №1902

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

Ответ

Здравствуйте, Maratych!
Ну вот к примеру драйвер_руссификации_принтера_из журнала "Монитор" - был раньше такой в Белоруссии_выпускался. Смотри приложение

Приложение:


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

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

Вопрос №1902

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

Ответ

Здравствуйте, Maratych!
Вот еще нашел_см_там_же

Приложение:


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

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

Вопрос №1920

Привет!
Хочу поинтересоваться, что такое WatchDog.

Ответ

Здравствуйте, Василий!
Зайди сюда посмотри
http://team.mit8.ru/watchdog/doc/faq.php


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

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

Вопрос №1913

Здравствуйте, Эксперты!!!
У меня такой вопрос:
Можно ли создать *.res (файл ресурсов) на C Bilder, а потом его прикрепить его к асму т.к. я плохо знаком со структурой *.RC ......

p.s./ Если несложно вышлите примерчик "регистрации класа" и создания окна из ассемблера т.е. хотелось бы увидеть часть до
....
call ShowWindow,[main_win_handle],SW_NORMAL

msg_loop:
call PeekMessageA,offset message,0,0,0,PM_REMOVE
or ax,ax
jz no_message
call IsDialogMessageA,[child_dlg_handle],offset message
....

Ответ

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

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

>>Можно ли создать *.res.....
Можно.

.data
wc windclassex


.code
start:

xor ebx,ebx
push ebx
call GetModuleHandleA
mov esi,eax
mov wc.hInstance,eax

push FrameIcon
push esi
call LoadIconA

mov wc.hIcon,eax
push IDC_ARROW
push ebx
call LoadCursorA

mov wc.hCursor,eax
push offset wc
call RegisterClassExA

mov eax,CW_USEDEFAULT
push ebx
push esi
push ebx
push ebx
push eax
push eax
push eax
push eax
push WS_OVERLAPPEDWINDOW or WS_CLIPCHILDREN
push offset FrameName
push offset FrameClass
push WS_EX_DLGMODALFRAME
call CreateWindowExA


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

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

Вопрос №1915

Здравствуйте, Эксперты!!!
Расскажите алгоритм добавления к файлу записи т.е. был файл
at.txt
-----
sell
seyd
er
-----


А после выполнения проги будет
-----
sell 1,23
seyd
er
-----

Интересно как это сделать с помошью WinAPI

Ответ

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

А в чем трудности ?
Открываеш файл ,добавляеш что нужно,закрываеш.

Если незнаком с функциями для работы с файлами то
начни изучение с CreateFile.


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

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

Вопрос №1917

Чем отличаются кодировки_Windows_1251_и_Windows_1252?
Спасибо за внимание_к моей проблеме.
С уважением, Андриянов П.А.

Ответ

Здравствуйте, Петр!
Хорошой вопрос. :))) Для того, чтобы немного в этом понять, попробуйте в системном реестре открыть следующую ветвь HKEY_LOCAL_MACHINE\Software\CLASSES\MIME\Database\Codepage и там посмотреть не только про эти кодировки, но и про остальные. :)))

ЗЫ: Чтобы в некоторых прогах (типа Фотошопа) отражался русский, создайте файл реестра, например в блокноте и назовите codepage.reg и скопируйте туда фрагмент из приложения, а потом просто запустите этот файл, перзеагрузитесь и все должно заработать. (пустая строка в конце файла - обязательна!!!!!)

Приложение:


Отправил эксперт: Tiger (www.tigeer.narod.ru - Что-то вроде того)
Эксперт отправил ответов (всего): 17

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

Вопрос №1914

Расскажите зачем нужна эта опция
пуск->панель управления->мультимедия->аудио->
->воспроизведение->дополнительно->установка динамиков

Здесь можно выбрать (наушники, настольные стерео динамики,
квадрофонические динамики .....)

Но при изменении этого параметра ничего не меняеться:(

Ответ

Здравствуйте, Dmitriy!
Ну, насколько я понимаю, смысл здесь что-либо менять, есть только в том случае, если Винда сама не установила все правильно.

ЗЫ: Если у Вас звуковая карточка баксов за 8-10, то менять что-либо смысла вообще нет, т.к. никакой разницы Вы не заметите, даже если Вы подключите не 2 и не 4 колонки, а все 6. :)))


Отправил эксперт: Tiger (www.tigeer.narod.ru - Что-то вроде того)
Эксперт отправил ответов (всего): 18

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

Вопрос №1915

Здравствуйте, Эксперты!!!
Расскажите алгоритм добавления к файлу записи т.е. был файл
at.txt
-----
sell
seyd
er
-----


А после выполнения проги будет
-----
sell 1,23
seyd
er
-----

Интересно как это сделать с помошью WinAPI

Ответ

Здравствуйте, Serega!
1. Открыть существующий файл в режиме чтение-запись - CreateFile();
2. Прочесть файл в буфер памяти - ReadFile().
3. Занятся поиском нужной строки и позиции в этой строке ( StrStr() )с учетом того, что CreateFile() работает в бинарном режиме - не производится замена пары '\x00d\x00a' на одиночный символ '\x00a' ('\n'). Не забыть эту позицию в байтах относительно начала буфера хранения данных файла.
4. Установить указателя файла в позицию что была найдена в п.3. - SetFilePointer();
5. Записать в файл требуемые данные - WriteFile();
6. Записать остальное содержимое буфера памяти - WiteFile();
7. Закрыть файл (дескриптор файла) - CloseHandle();
Если есть сложности с чтением всего файла за один прием (мало памяти, файл большой или др.), то алгоритм чуточьку усложнится - придется повторять п.1 и п.2 и запоминать реальное местоположение относительно начала файла.


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

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

Вопрос №1917

Чем отличаются кодировки_Windows_1251_и_Windows_1252?
Спасибо за внимание_к моей проблеме.
С уважением, Андриянов П.А.

Ответ

Здравствуйте, Петр!
Последний не "дружит" с кирилицей, т.е. выводит всякую абракадабру вместо русских букв.


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

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

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

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

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


Ваше имя *:

Ваш e-mail *:

Подгруппы:

Вопрос *:

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


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

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


Управляющий рассылкой,

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

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


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


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное