Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 668
от 29.11.2003, 14:00
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 4541 Отправлено ответов: 13052 Активность: 287.4 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Bob Johnson Статус: Профессиональный Общий рейтинг: 148.68 URL: Программирование [Подробней >>] |
ASMодей Статус: Профессиональный Общий рейтинг: 112.77 [Подробней >>] |
never_again Статус: Опытный Общий рейтинг: 137.3 [Подробней >>] |
Maverick Статус: Профессиональный Общий рейтинг: 122.48 URL: Эхоконференция по вирмейкингу Телефон: 89039415024 (BeeLine GSM) [Подробней >>] |
Евгений Иванов Статус: Профессиональный Общий рейтинг: 142.6 URL: Super Assembler Software Телефон: НСС +7 831 3107039 [Подробней >>] |
GL Статус: Профессиональный Общий рейтинг: 102.38 [Подробней >>] |
dr_dolphin Статус: Доверительный Общий рейтинг: 116.38 [Подробней >>] |
Artemy Статус: Доверительный Общий рейтинг: 126.95 [Подробней >>] |
Gibbel Статус: Профессиональный Общий рейтинг: 106.39 URL: Savage Metal Club - жизнь в стиле рок-н-ролл Телефон: +7 901 710 3146 [Подробней >>] |
Duncan MacLeod Статус: Начальный Общий рейтинг: 106.89 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 4509. Уважаемым экспертам всего самого. Этот вопрос я уже задавал этот вопрос в раздел С/С++, но ответил т... (ответов: 2)
Вопрос № 4510. Привет! Не подскажите, как убрать поиск флоппи (или сделать этот поиск бесшумным) при выключении/пер... (ответов: 2)
Вопрос № 4511. Помогите пожалуйста с лабой на асме. Я бы сделала сама, но нет никаких материалов, а главное уже нет... (ответов: 1)
Вопрос № 4512. Здравствуйте, уважаемые! Подскажите, как записать параметры при вызове макроса не в одну строку (для... (ответов: 1)
Вопрос № 4513. Здравствуйте ув. эксперты! Вопрос у меня такого плана: имеется ли у звуковой карты возможность прео... (ответов: 2)
Вопрос № 4514. Эксперты! Помогите начинающему. Есть задача, но не знаю с какой стороны подступиться. Задача такая: ... (ответов: 3)
Вопрос № 4515. Здравствуйте Уважаемые Эксперты!!! Есть такой вопрос. Надо с СОМ порта снимать сигнал от внешнего у... (ответов: 4)
Вопрос № 4516. Здравствуйте! Не могли бы вы мне сказать как писать тех. задание. Ну я знаю, что это такое: тоесть д... (ответов: 2)
Вопрос № 4518. Здравствуйте, уважаемые эксперты. Хочу сделать симулятор-отладчик кода (не совместимого с Intel). До... (ответов: 4)
Вопрос № 4519. пожалуста! помогите! дана матрица n на m! DW формата! поменять первую строку со строкой содержащей ... (ответов: 2)
Вопрос № 4520. Здравствуйте, эксперты! Подскажите, пожалуйста, алгоритм, как определить являютя ли четыре точки вер... (ответов: 6)
Вопросов: 11, ответов: 29
Вопрос № 4509 |
Уважаемым экспертам всего самого.
Этот вопрос я уже задавал этот вопрос в раздел С/С++, но ответил только один человек, да и его ответ мне не годится.
Пишу прогу-курсач под Окна на C. Загвосточка одна возникла.
От Edit'а получаю текст, который по сути должен быть числом типа double. Как мне перевести строку текста в число с плавающей точкой + отловить ошибки ввода + (очень желательно) не пользоваться стандартной библиотекой С (хочу маленький .exe-спасибо Bob'y Johnson'y за его статьи)
, т.е. только WinAPI. Если нужно писать всё самому - нет проблем, вы только на путь истинный меня направьте.
Вопрос отправлен: 23.11.2003, 12:55
Отправитель: TReaMoN
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Добрый день, TReaMoN!
Да, надо писать самому.
Рекомендую посидеть в интернете и найти готовый кусок кода (если это возможно). Если нет - то вначале определись, в каком виде твоя программа хочет воспринимать число с плавающей точкой - "-.4e-12" тебе нужно? Если да, то задача усложняется. Если же нет, то вначале ты считываешь целую часть (до "."), затем последовательно дробную. Используй сопроцессор и все будет несложно - т.е. в начале ввода дробной части ты устанавливаешь вес разряда 0.1, затем считываешь цифру, умножаешь ее на вес и добавляешь к результату. Далее делишь вес на 10 и переходишь к сл. цифре и т.д.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 27.11.2003, 23:43
Отправитель: Bob Johnson
Отвечает ASMодей
Здравствуйте, TReaMoN!
Чтобы писать такую процедуру самому, изучи нужный формат хранения числа в памяти (их вроде несколько) и преобразовывай.
А еще, если не нужна вся библиотека, можно найти ее исходники и выдернуть оттуда нужную процедурку.
Ответ отправлен: 24.11.2003, 07:36
Отправитель: ASMодей
Вопрос № 4510 |
Привет! Не подскажите, как убрать поиск флоппи (или сделать этот поиск бесшумным) при выключении/перезагр вин98? Спасибо.
Вопрос отправлен: 23.11.2003, 16:12
Отправитель: dxf
[Следующий вопрос >>] [Список вопросов]
Отвечает never_again
Здравствуйте, dxf!
зайди в BIOS и установи загрузку с харда а не с флоппи, а вообще этот вопрос к ассемблеру отношения не имеет!!!
Ответ отправлен: 23.11.2003, 18:44
Отправитель: never_again
Отвечает Maverick
Доброе время суток, dxf!
Я так понял интересует как это сделать на ассемблере?
Найди адрес значения, которое отвечает за проверку флопа в биосе перед загрузкой, а изменить его дело техники :)))
Ответ отправлен: 24.11.2003, 05:49
Отправитель: Maverick
Вопрос № 4511 |
Помогите пожалуйста с лабой на асме. Я бы сделала сама, но нет никаких материалов, а главное уже нет времени. Поделитесь соображениями.
Приложение:
Вопрос отправлен: 23.11.2003, 17:18
Отправитель: Alja
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Здравствуйте, Alja!
Пускаешь поиск файлов (можешь взять мою программу CODER с моего сайта) и проверяешь их свойства, удаляешь, что необходимо!
http://superforest.narod.ru/research_coder.htm
Удачи!
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 25.11.2003, 13:05
Отправитель: Евгений Иванов
Вопрос № 4512 |
Здравствуйте, уважаемые!
Подскажите, как записать параметры при вызове макроса не в одну строку (для удобства чтения). В макросе параметры записываются через слэш:
MacroName MACRO Param_1,
Param_2 ;и т.д.
при вызове такой синтаксис не проходит.(TASM)
Спасибо.
Вопрос отправлен: 24.11.2003, 02:52
Отправитель: USA (usa-lesh@yandex.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Приветствую Вас, USA!
В две и более строк надо использовать .
Call BASS_StreamCreateFile, FALSE, [(t OPENFILENAME esi).lpstrFile],
0, 0, 0
Бывай!
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 25.11.2003, 13:05
Отправитель: Евгений Иванов
Вопрос № 4513 |
Здравствуйте ув. эксперты!
Вопрос у меня такого плана:
имеется ли у звуковой карты возможность преобразовать в биты(байты) аналоговый сигнал частотой 90МГц или хотя бы выше. Если да, то что для этого нужно сделать и как использовать ассемблер по максимуму.
Спасибо заранее.
Vagabundo
Вопрос отправлен: 24.11.2003, 07:53
Отправитель: Vagabundo (cesaren@yandex.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Здравствуйте, Vagabundo!
> аналоговый сигнал частотой 90МГц
Ну-ну :) Да этого не сможет ЦАП в цифровом 100 Гц телевизоре.
> или хотя бы выше
:)
Нет, звуковая карта может оцифровывать сигналы с частотой до 48 Кгц (если она сама 96) или до 24 (если она 48) . Но это килогерцы, а не МГЦ.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 27.11.2003, 23:43
Отправитель: Bob Johnson
Отвечает GL
Добрый день, Vagabundo!
Нет, 90 МГц - это слишком высокая частота, а карта рассчитана на обработку звукового диапазона 20...20000 Гц (на то она и звуковая :). У обычной карты максимальная частота дискретизации 48 кГц, делим её на 2 - и получаем максимальную частоту, которую она может обработать - 24 кГц.
Для оцифровки сигнала частотой 90 МГц потребуется очень быстродействующий АЦП (аналого-цифровой преобразователь). Такие АЦП очень дороги.
Ответ отправлен: 24.11.2003, 13:47
Отправитель: GL
Вопрос № 4514 |
Эксперты! Помогите начинающему. Есть задача, но не знаю с какой стороны подступиться. Задача такая: дезассемблировать программу базового обработчика прерывания для клавиатуры 09. Дополнить обработчик процедурой пользователя, обрабат. нажатие клавиш ALT-T. Заранее благодарю.
Вопрос отправлен: 24.11.2003, 13:52
Отправитель: Gleb
[Следующий вопрос >>] [Список вопросов]
Отвечает dr_dolphin
Добрый день, Gleb!
А зачем базовый дизассемблировать ? Просто пишешь свой обработчик делаешь в нем свои дела, а потом просто вызываешь старый обработчик...т.е:
1. берешь адрес обработки из тавлицы векторов прерываний
2. запоминаешь его
3. пишешь свой обработчик
4. вносишь адрес своего обработчика в таблицу векторов прерываний
5.Из своего обработчика вызываешь старый.
и все.
При нажатии на клавишу будет вызван твой код, а уж потом старый код.
Пока!
Ответ отправлен: 24.11.2003, 15:02
Отправитель: dr_dolphin
Отвечает Artemy
Доброе время суток, Gleb!
Для этого совсем не обязательно что-то там дизассемблировать, достаточно просто написать резидент и повесить его на int 09h.
Ответ отправлен: 25.11.2003, 16:37
Отправитель: Artemy
Отвечает Евгений Иванов
Здравствуйте, Gleb!
Тут можно просто встать до этого обработчика (перехватить).
И брать код клавиши ALT. Устанавливать флажок, если нажата, сбрасывать, если отпущена. Потом проверять другую клавишу - и делать твоё действо!
Чао!
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 25.11.2003, 13:07
Отправитель: Евгений Иванов
Вопрос № 4515 |
Здравствуйте Уважаемые Эксперты!!!
Есть такой вопрос. Надо с СОМ порта снимать сигнал от внешнего устройства в Win98 .Если АРІ функции (подскажите плз. какие)для работы обычной проги или надо писать VxD драйвер чтоб работать в 0 кольце ?
Зарание благодарен!
Вопрос отправлен: 24.11.2003, 17:31
Отправитель: Vlad
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Здравствуйте, Vlad!
Есть - CreateFile, ReadFile, WriteFile, CloseHandle.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 27.11.2003, 23:43
Отправитель: Bob Johnson
Отвечает Gibbel
Доброе время суток, Vlad!
---MSDN---
Функция CreateFile может создавать хэдлы для ресурсов коммуникации, таких как последовательный порт COM1. Для этого параметр dwCreationDisposition должен быть OPEN_EXISTING, а параметр hTemplate должен быть NULL.
---MSDN---
P.S.: для вопросов по WinAPI существует отдельная рассылка.
Приложение:
Ответ отправлен: 25.11.2003, 11:57
Отправитель: Gibbel
Отвечает Евгений Иванов
Здравствуйте, Vlad!
CreateFile.
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 25.11.2003, 13:08
Отправитель: Евгений Иванов
Отвечает Maverick
Добрый день, Vlad!
Хых, не обязательно драйвер, можно и обычное приложение заставить в 0 кольце работать, под 98 есть 6 или больше способов. Информация об этом есть на вирусных сайтах.
Ответ отправлен: 27.11.2003, 09:07
Отправитель: Maverick
Вопрос № 4516 |
Здравствуйте!
Не могли бы вы мне сказать как писать тех. задание.
Ну я знаю, что это такое: тоесть должны быть описаны все потоки данных. Я понимаю, что глупый вопрос, но как конкретно это описывать - кружочки со стрелочками или таблицы там... Был бы очень признателен если бы ктонить скинул пример с реальным тех. заданием. Проблема в формате...
Вопрос отправлен: 24.11.2003, 20:01
Отправитель: Эдик (edsam@spidernet.com.cy)
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Доброе время суток, Эдик!
На написание ТЗ есть ГОСТ - найди его и прочитай там, какие пункты в нем должны быть.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 27.11.2003, 23:43
Отправитель: Bob Johnson
Отвечает ASMодей
Добрый день, Эдик!
Насколько я помню, в техзадании потоки данных не описываются. Там должно быть полное описание функциональности программы, ее временнЫе характеристики и всякое такое...
На всякий случай отправляю тебе ГОСТ на оформление тех. задания.
Ответ отправлен: 25.11.2003, 11:19
Отправитель: ASMодей
Вопрос № 4518 |
Здравствуйте, уважаемые эксперты. Хочу сделать симулятор-отладчик кода (не совместимого с Intel). Документация по системе команд есть. Не знаю с чего начать и какие подводные камни там существуют. Если у кого-нибудь есть исходники для дизасемблирования хотябы файлов .com из MS-DOS, буду очень признательна. Первое, с чем столкнулась - обработка условных переходов и вызовов функций. понимаю, что нужна рекурсия, но как ее собрать не знаю.
Спасибо заранее всем...
Вопрос отправлен: 24.11.2003, 20:08
Отправитель: Swetlana (snt_swetlana@rambler.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Доброе время суток, Swetlana!
Это действительно тебе нужно или опять друг попросил? :)
В общем так - если хочешь, то дизассемблер EXE PE файлов на асме (с исходниками) лежит у меня на странице. Адрес давно не упоминал - http://bobjohnson.nm.ru.
Далее - чтобы сделать отладчик, надо построить структуру иерархии команд процессора (с помощью таблиц) - т.е. ты вытаскиваешь очередную команду, смотришь в таблице, что это и исходя из того, что там увидишь, предпринимаешь нужные действия.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 27.11.2003, 23:43
Отправитель: Bob Johnson
Отвечает GL
Добрый день, Swetlana!
Послал исходники на ящик.
Ответ отправлен: 25.11.2003, 18:34
Отправитель: GL
Отвечает Евгений Иванов
Добрый день, Swetlana!
Смотри мой эмулятор Спектрума на моём сайте; не знаю, может пригодится...
http://superforest.narod.ru/research_zxs.htm
Бывай!
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 25.11.2003, 13:09
Отправитель: Евгений Иванов
Отвечает Maverick
Приветствую Вас, Swetlana!
Для начала разберись с форматом команд, и это самое простое.
В этом я могу помочь разобраться (для Intel). Теоритически ничего сложного нет, все подчиняется жесткой логике, но на практике есть свои проблемы :)
Ты можешь по опкоду сказать что это за инструкция? Т.е. выполнить работу процессора? Если нет, то дальше идти смысла нет, разбирайся с этим.
P.S. Девушка программист на ассемблере? Хмм, интересно :), будут вопросы, пиши на мыл...
maverick@nightmail.ru
Ответ отправлен: 27.11.2003, 09:07
Отправитель: Maverick
Вопрос № 4519 |
пожалуста! помогите! дана матрица n на m!
DW формата!
поменять первую строку со строкой содержащей большее количество нулей!
пришлите пожалуста ответ на мой почтовый ящик!
bond@junior.ru
Вопрос отправлен: 24.11.2003, 20:10
Отправитель: Макс
[Следующий вопрос >>] [Список вопросов]
Отвечает Artemy
Доброе время суток, Макс!
Приложение:
Ответ отправлен: 25.11.2003, 17:01
Отправитель: Artemy
Отвечает never_again
Приветствую Вас, Макс!
сам учись.
Ответ отправлен: 24.11.2003, 22:10
Отправитель: never_again
Вопрос № 4520 |
Здравствуйте, эксперты!
Подскажите, пожалуйста, алгоритм, как определить являютя ли четыре точки вершинами квадрата.
Заранее благодарен, EraSer.
Вопрос отправлен: 25.11.2003, 13:50
Отправитель: EraSer (eraser99@tut.by)
[Следующий вопрос >>] [Список вопросов]
Отвечает Duncan MacLeod
Здравствуйте, EraSer!
Если бы меня попросили сделать подобное, то я навероное бы просто посчитал длины всех сторон, если равны, квадрат. Хотя я не эксперт по подобного рода задачам! :) Так что может кто еще чего предложит, более умное! :)
Ответ отправлен: 25.11.2003, 18:18
Отправитель: Duncan MacLeod
Отвечает Евгений Иванов
Приветствую Вас, EraSer!
Равенство диагоналей и равенство соседних сторон
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 25.11.2003, 21:05
Отправитель: Евгений Иванов
Отвечает never_again
Добрый день, EraSer!
исходи из:
(x1,y1) (x2,y2)
@----------@
| |
| |
| |
| |
@----------@
(x3,y3) (x4,y4)
то
если (у1=у2 и у3=у4 и х1=х3 и х2=х4 и (х2-х1)=(у3-у4)) значит это квадрат.
Ответ отправлен: 25.11.2003, 16:57
Отправитель: never_again
Отвечает Artemy
Здравствуйте, EraSer!
Просто одинакового расстояния между точками недостаточно, т.к, при этом они все могут принадлежать одной прямой и естественно это будет не квадрат.
Помоему, нужно делать так:
A
/ A----B
/ | |
/ | |
D /B D----C
/
/
C
a = |xA-xB|+|xB-xC|+|xC-xD|+|xD+xA|
b = |yA-yB|+|yB-yC|+|yC-yD|+|yD+yA|
и если a = b, то это квадрат,
и не важно как он расположен на плоскости.
Имхо, на ассемблере это реализуется просто.
Ответ отправлен: 25.11.2003, 17:36
Отправитель: Artemy
Отвечает Bob Johnson
Доброе время суток, EraSer!
1. Квадрат имеет равные по длине стороны. Т.е. сравни стороны с помощью вычисления их длины l = sqrt (dx*dx + dy*dy).
2. Либо угол между соседними сторонами должен быть равен 90 градусов (проверяется равенством нулю скалярного произведения векторов, сонаправленных с этими сторонами), либо диагонали равны по длине.
Тебе нужно, чтобы оба условия были выполнены.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 27.11.2003, 23:43
Отправитель: Bob Johnson
Отвечает Gibbel
Здравствуйте, EraSer!
Замерить расстояние между ними. У квадрата все стороны равны, и диагонали равны.
Ответ отправлен: 25.11.2003, 14:30
Отправитель: Gibbel
Форма отправки вопроса |
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
(C) 2002-2003 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (28) C / C++ (22) Perl (3) Builder / Delphi (16) Pascal (18) Basic / VBA (6) Java / JavaScript (10) PHP (12) Криптография (6) WinAPI (10) |
Пользователю Windows 95/98/Me (42) Windows NT/2000/XP (57) "Железо" (35) Поиск информации (20) |
Администратору Windows NT/2000/XP (34) Linux / Unix (14) |
Юристу Гражданское право (11) Семейное право (8) Трудовое право (9) КоАП (6) |
Отправить вопрос всем экспертам выбранной рассылки.
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||