Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 437
от 08.12.2002, 15:30
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 2068 Отправлено ответов: 6351 Активность: 307.1 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Max Статус: Начальный Общий рейтинг: 120.28 [Подробней >>] |
ASMодей Статус: Профессиональный Общий рейтинг: 119.72 [Подробней >>] |
St Статус: Опытный Общий рейтинг: 115.82 [Подробней >>] |
Maverick Статус: Профессиональный Общий рейтинг: 138.75 URL: Задачи по ассемблеру Телефон: 89039415024 (BeeLine GSM) [Подробней >>] |
Sensey Статус: Профессиональный Общий рейтинг: 122.53 URL: Страничка рассылки по Паскалю Телефон: +38 (0572) 41-76-04 дом. [Подробней >>] |
Bob Johnson Статус: Профессиональный Общий рейтинг: 153.41 [Подробней >>] |
baldr Статус: Профессиональный Общий рейтинг: 114.4 URL: Сайт об ОС DOS. Всем, кто любит эту ОС! [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 117.37 [Подробней >>] |
masquer Статус: Профессиональный Общий рейтинг: 150.07 [Подробней >>] |
Broken Sword Статус: Профессиональный Общий рейтинг: 128.48 URL: моя рассылка по Protected Mode [Подробней >>] |
vitya Статус: Профессиональный Общий рейтинг: 108.15 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 2021. Здравствуйте. У меня вопрос: Вкаком порядке необходимо записывать файл на дискету чтобы он оказался ... (ответов: 4)
Вопрос № 2022. Bob Johnson, если не затруднит, кинь мне их(лаб. раб.) тоже...... (ответов: 3)
Вопрос № 2023. Здравствуйте, все! Делал ли кто-нибудь закрытие cd-rom используя int 21h, func 44h, код подфункциии ... (ответов: 2)
Вопрос № 2024. Здравствуйте уважаемые Эксперты! Извините, может быть вопрос несколько глупый, но поверьте ответы на... (ответов: 1)
Вопрос № 2025. Здравствуйте уважаемые эксперты. Может быть кто нибуть знает,есть ли такая asmовская прога(конструкт... (ответов: 3)
Вопрос № 2026. Happy time for all experts. Сделал небольшую програмку на Си со вставкой на ассемблере. Борланд Турб... (ответов: 3)
Вопрос № 2027. Уважаемые эксперты, наверное мой вопрос не по ассемблеру так что извните. Не могли бы вы обьяснить з... (ответов: 4)
Вопрос № 2028. К вопросу 1939. Объясните, пожалуйста, непонятливому, как, все таки перевести вещественное число в A... (ответов: 1)
Вопрос № 2029. Здравствуйте, masquer! К вопросам 1939 и 2028. Имеется небольшая проблема. В MSDN об опции "F&q... (ответов: 1)
Вопрос № 2030. Привет,эксперты! Не подскажите, почему при одних и тех же параметрах phoneNegotiateAPI нормально вы... (ответов: 1)
Вопрос № 2031. Здравствуйте эксперты. Только сегодня начал учить ассемблер! Не знаете ли где достать электронную кн... (ответов: 2)
Вопросов: 11, ответов: 25
Вопрос № 2021 |
Здравствуйте. У меня вопрос:
Вкаком порядке необходимо записывать файл на дискету чтобы он оказался правельно размещён на ней т.е есть файл копия boot дискеты как его правильно перенести назад на дискету, как чередовать номер головки(сторон дискеты я так понимаю?), сектора, дорожки.(13h)
Спасибо.
Вопрос отправлен: 03.12.2002, 17:50
Отправитель: Mio (rs-str@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Max
Доброе время суток, Mio!
Записывать надо так : С начала записываешь все сектора на стороне, меняешь голову,записываешь сектора на ентой стороне, меняешь и голову и цилиндр , повторяешь заново.
Ответ отправлен: 05.12.2002, 21:42
Отправитель: Max
Отвечает ASMодей
Приветствую Вас, Mio!
Сначала увеличивается номер сектора. Как только все сектора
прочитаны, увеличивается номер головки и снова перебираются
все сектора. После перебора всех секторов снова происходит
увеличение номера головки и т.д. Когда переберутся все номера
головок, увеличивается номер цилиндра и все действия повторяются
пока не будет прочитан (записан) весь диск.
PS. Для дискеты: сектор = сектор, сторона = головка, дорожка = цилиндр
PPS. Можно сделать это проще - просто использовать прерывания INT 25h,26h.
Ответ отправлен: 04.12.2002, 18:38
Отправитель: ASMодей
Отвечает St
Привет, Mio!
Запись всех секторов данной дорожки на стороне 0, затем та же дорожка на стороне 1, после чего читается следующая дорожка стороны 0 и тд. Можно использовать 26h прерывание DOS там уже все стороны/дорожки/сектора сосчитаны.
St
Ответ отправлен: 03.12.2002, 18:54
Отправитель: St
Отвечает Maverick
Здравствуйте, Mio!
Я не понял, тебе нужно программу написать, или у тебя есть имидж диска и тебе его надо на дискету развернуть. У меня есть утилитка, если надо, пиши.
Есть так же чей то исходник, инсталирующий загрузчик на дискету.
Ответ отправлен: 04.12.2002, 07:06
Отправитель: Maverick
Вопрос № 2022 |
Bob Johnson, если не затруднит, кинь мне их(лаб. раб.) тоже...
Вопрос отправлен: 03.12.2002, 18:21
Отправитель: Igi(t)32 (Igitname@mtu-net.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Sensey
Добрый день, Igi(t)32!
Я придумал!
Кинь их мне (sensey@ukr.net) а я попрошу Артема временно разместить их на своем сайте, а потом с Калашниковым мы что-нить придумаем. И архивы хранить где-то надо, и раазные всякие весчи нужные. Я думаю что сделаем еще сайтик какой-нить третьего уровня на РУСФАГЕ...
Ответ отправлен: 03.12.2002, 19:03
Отправитель: Sensey
Отвечает Bob Johnson
Приветствую Вас, Igi(t)32!
Ok.
Ответ отправлен: 04.12.2002, 23:28
Отправитель: Bob Johnson
Отвечает Maverick
Здравствуйте, Igi(t)32!
Bob!!! Если бы ты за каждую такую просьбу брал бутылку пива, то ты бы уже спился :) Но... есть всегда выход, ты бери с них пиво и делись с экспертами, и ты здоров и нам хорошо :)))
(снимите 5 баллов за "ответ")
Ответ отправлен: 04.12.2002, 07:06
Отправитель: Maverick
Вопрос № 2023 |
Здравствуйте, все! Делал ли кто-нибудь закрытие cd-rom используя int 21h, func 44h, код подфункциии al=0Dh? Какие надо параметры передать, чтобы cd-rom закрылся? В любом случае, запустите, пожалуйста, вопрос в рассылку - может кто-нибудь из подписчиков встречался с этим.
Заранее спасибо всем, кто поможет.
Приложение:
Вопрос отправлен: 03.12.2002, 20:06
Отправитель: Евгений (other@mail.kz)
[Следующий вопрос >>] [Список вопросов]
Отвечает baldr
Приветствую Вас, Евгений!
Давно такой вопрос был гвоздем в рассылке... :)
В общем, советую работать с лотком CD-ROM'а используя не int 21h, а мультиплексорное прерывание
2fh - в нем смотри функции driver.sys - там есть работа с произвольным устройством. Обычно
такие программы через него работают. Если нужно описания прерываний - на моем
сайте есть. http://www.dospage.by.ru
Ответ отправлен: 04.12.2002, 00:08
Отправитель: baldr
Отвечает Maverick
Приветствую Вас, Евгений!
А ты уверен, чтоб с помощью этой функции можно было бы закрыть. В приложении описание этой функции.
Приложение:
Ответ отправлен: 04.12.2002, 07:06
Отправитель: Maverick
Вопрос № 2024 |
Здравствуйте уважаемые Эксперты!
Извините, может быть вопрос несколько глупый, но поверьте ответы на него мне жизненно необходим.
Дело в следующем:
мне нужно (насколько я понял по очень короткому разговору) написать программу, которая бы могла осуществлять копирование данных с РС машины на какой то учебный стенд, который оснащен МК-51. Программы под МК51 я уже писал, но отлаживал их только на эмуляторе. Я не знаю что за учебный стенд с МК 51 применяется для обучения студентов - очников в университете (сам заочник). Вот отсюда вопрос:
1.что за учебный стенд (думаю что таких долно быть немного)
2.какими устройствами для связи с другими компьютерами он располгает
3.есть ли какие-то забронированные под что то (ну скажем установочные программы и прочее) ячейки РПД (или какие я могу использовать для хранения принимаемых данных, где лучше разместить программу?)
Если кто то может поделиться ссылками по теме или материалом - буду очень признателен.
Вопрос отправлен: 03.12.2002, 20:39
Отправитель: Maxmuska
[Следующий вопрос >>] [Список вопросов]
Отвечает Sensey
Доброе время суток, Maxmuska!
Что за стенд - не знаю, но:
МК51 обладает встроенным rs232(COMпорт)
Соответственно надо написать прогу - терминал обмена по СОМ-порту...
Уточни. Если это так - могу выслать исходники для МК51 настройки СОМ-порта...
Ответ отправлен: 04.12.2002, 11:54
Отправитель: Sensey
Вопрос № 2025 |
Здравствуйте уважаемые эксперты.
Может быть кто нибуть знает,есть ли такая asmовская прога(конструктор) для создания всяких окошек,кнопочек и т.п.
Я что то такое слышал но найти немогу,может подскажите естьли такая,а если есть где искать.
Вопрос отправлен: 04.12.2002, 02:01
Отправитель: WiX
[Следующий вопрос >>] [Список вопросов]
Отвечает Max
Добрый день, WiX!
Есть исходник создание окна под Windows
же отослал
Ответ отправлен: 05.12.2002, 21:58
Отправитель: Max
Отвечает Bob Johnson
Здравствуйте, WiX!
А чем тебе обычный редактор ресурсов не подходит? Там можно создать и кнопочки и окошки и потом легко вставить в свою прогу.
Ответ отправлен: 05.12.2002, 15:06
Отправитель: Bob Johnson
Отвечает Maverick
Добрый день, WiX!
Ага, есть. Вроде Visual Assembler называется. Не совсем то, что тебе надо, но ближе, чем NotePad
Ответ отправлен: 04.12.2002, 07:07
Отправитель: Maverick
Вопрос № 2026 |
Happy time for all experts.
Сделал небольшую програмку на Си со вставкой на ассемблере.
Борланд Турбо Си 3.0 Она в приложении(вставка). Пашет. Но
если я пытаюсь внутри функции избавиться от локальных переменных
и присвоить значения параметрам, передаваемым в функцию(в ассемблерную
вставку), напрямую, без посредничества локальных переменных,
то ничего не получается. Вопрос: а почему так? Почему вариант
в приложении правильный, а без локальных переменных не працюэ.
Знаю. У меня нет коректного перевода BCD чисел в тот формат,
который нужен и данный вариант правилен только для 30 ноября.
Это я потом доделаю. Меня интересует локальные переменные.
Поскольку вопрос двойственный, то отправил в две рассылки.
Настойчивый оффтопик(в прошлых вопросах он был, но вряд ли вы
его получили) -
Offtopic of Fun: В Far Managerе нажимаем F11, выбираем список
процессов(List Process), ищем explorer.exe, нажимаем F8,
подтверждаем удаление, нажимаем F10, выходим из Фара и
... ляпота
Работает также в Win2000 Server, если админ ленивый:)
Приложение:
Вопрос отправлен: 04.12.2002, 04:16
Отправитель: Начинающий ламер
[Следующий вопрос >>] [Список вопросов]
Отвечает ASMодей
Приветствую Вас, Начинающий ламер!
Так ведь то, что у тебя в функцию передается, это не переменные,
а ссылки на них, то есть по сути адрес. Как же ты можешь этому
адресу присвоить какое-то значение? Используй его как адрес на
переменные.
Ответ отправлен: 04.12.2002, 18:38
Отправитель: ASMодей
Отвечает Bob Johnson
Здравствуйте, Начинающий ламер!
Потому что ты передаешь параметры по ссылке, а это, для компилятора тоже самое, что и указатель на переменную. Т.е. физически твоя функция воспринимает два параметра - указатель на переменную month и указатель на переменную day. Тип указателя - в зависимости от разрядности и модели, применяемой в программе (последнее только для 16 разрядных прог) - 2 или 4 байта. А если бы тебе в функцию передавалось значение, как бы ты мог добиться, чтобы при изменении его в функции оно менялось вне ее?
Т.е. тебе надо делать что-то типа:
mov bx, [month]
mov [bx], al
Offtopic: Explorer является Windows Shell, что вполне позволяет системе (в приниципе) работать без него. Это как Нортон для ДОСА.
Ответ отправлен: 05.12.2002, 15:07
Отправитель: Bob Johnson
Отвечает Ayl
Приветствую Вас, Начинающий ламер!
Почему не работает без локальных переменных? А каким образои происходит запись?
Все дело в том, что в ассеьблерном блоке конструкция month преобразуется в [bp+6] (для ближнего вызова) или [bp+8] для дальнего. Причем в стеке находятся 2 слова, представляющие собой сегмент и смещение (возможно, для некоторых моделей памяти только смещение) переменной month.
Соответственно, если просто написать mov byte ptr month, dh, то это будет переведено в move byte ptr [bp+xx], dh, что немного не то, что хотелось бы.
Надо делать так:
les di, month
mov es:[di], dh
Ответ отправлен: 04.12.2002, 11:01
Отправитель: Ayl
Вопрос № 2027 |
Уважаемые эксперты, наверное мой вопрос не по ассемблеру так что извните. Не могли бы вы обьяснить зачем используется хэширование? Что это такое я понял преобразование ключа в адрес структуры, а где это используется конкретные примеры?
Вопрос отправлен: 04.12.2002, 09:49
Отправитель: Merilyn Manson
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Приветствую Вас, Merilyn Manson!
Ну, тебе должно быть виднее - где использовать. Задача хеширующей функции создать из набора битов такой набор (хеш), который при изменении исходного набора хотя бы в одном бите давал бы совершенно отличную картину. Хе-хе, туманно, не так ли? Пример хеш-функций - CRC32, RC4, MD5, и т.д. В криптографии, например, используется, но можно где угодно применять.
Ответ отправлен: 04.12.2002, 10:35
Отправитель: masquer
Отвечает Broken Sword
Приветствую Вас, Merilyn Manson!
Как где? Вся современная криптография основана на использовании методов хеширования (CRC, MD5, ... в свою очередь, используются при защите прог (RAR, например), а вообще любая мало мальски серьезная прога использует MD5-подобное криптование). Метод хеширования позволяет хранить множество элементов множества А в линейном массиве Х. Как правило, число элементов А много больше, чем Х. Математически это можно записать:
h: А --> {0,x-1}
Это читается функция h отображает каждый элемент А в индекс множества Х. Поскольку число элементов А как правило намного больше Х, то функция h наверняка неинъективна. Однако, возможно существование такого интервала на области определения функции, в границах которого она становится инъективной. Это означает, что только для одного элемента А существует индекс x1. Функция будет инъективной и в том случае, если ни один элемент А не отображается на интервал {x1,x2} при условии, что последний не равен нулю. В любом другом случае на каждый индекс множества Х отображается более одного элемента А. Это так называемая коллизия хеш-функции. Реверс хеш функции заключается в поиске всех отображаемых на данный индекс элементов. Для любого конечного множества А это разрешимая задача, которая наиболее простое решение имеет на инъективных интервалах хеш-множества.
и т.д. могу кинуть док.
Ответ отправлен: 04.12.2002, 14:53
Отправитель: Broken Sword
Отвечает Maverick
Добрый день, Merilyn Manson!
Насколько я знаю, это нужно, в том числе, для наколки отладчиков защищенного режима.
Ответ отправлен: 04.12.2002, 09:56
Отправитель: Maverick
Отвечает vitya
Доброе время суток, Merilyn Manson!
Хэширование это метод для ускорения поиска в таблице.
Если у тебя есть хэш значение элемента, то поиск в таблице составит О(1), что очень быстро.
В общем и целом, если у тебя есть коллизии, то время будет в среднем равно O(n/m), где n - количество элементов, m -количество слотов. Обычно делается так, что m = Округленное до ближайшей степени двойки или, например STLPorts там округляется до ближайшего простого числа, которое ближайшее к ближайшей степени двойки (мудрено). В этом случае если хэш-функция достаточно хороша - то есть она дает близкое к равномерному распределение время поиска на самом деле получается О(1).
Должен отметить, что все мне известные реализации хэш-таблиц занимали в памяти места в 1.5 раза больше, чем например, черно-красное дерево, или просто АВЛ дерево.
Ответ отправлен: 04.12.2002, 10:20
Отправитель: vitya
Вопрос № 2028 |
К вопросу 1939. Объясните, пожалуйста, непонятливому, как, все таки перевести вещественное число в ASCII строку, с помощью wsprintf. Заранее спасибо.
Вопрос отправлен: 04.12.2002, 11:49
Отправитель: Konstantin
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Добрый день, Konstantin!
Ну, например, так. Сишный пример из кернигана и ричи
PRINTF("%4.2F", FAHR)
Ответ отправлен: 04.12.2002, 14:33
Отправитель: masquer
Вопрос № 2029 |
Здравствуйте, masquer! К вопросам 1939 и 2028. Имеется небольшая проблема. В MSDN об опции "F" строки формата у функции wsprintf ничего не сказано.
Вопрос отправлен: 04.12.2002, 15:01
Отправитель: Konstantin
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Добрый день, Konstantin!
Есть там, только поискать нужно. Ну, или сам поэкспериментируй...
Ответ отправлен: 04.12.2002, 16:46
Отправитель: masquer
Вопрос № 2030 |
Привет,эксперты! Не подскажите, почему при одних и тех же параметрах phoneNegotiateAPI нормально вып., а lineNegotiateAPI -нет?
Не могли бы вы выслать исходкод или оригинал Kleza (вирус)
Можно ли с пом. WinTAPI записыать телеф. разговор?
Чем отличаетя lineDiale и line? (формат адреса для них одинаков)
Вопрос отправлен: 04.12.2002, 15:01
Отправитель: oleg
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Добрый день, oleg!
Хотел бы я тоже посмотреть на его исходик. Еще что-то мне подсказывает, что тебе его не вышлют... Хотя бы потому, что ты забыл указать свой обратный адрес...
Записывать телефонный разговор можно, только если у тебя voice-modem - для этого и так уже много прог (типа автоответчиков). Если нет - то никак (т.к. нет этого АЦП). Но можешь взять в руки паяльник и собрать схемку для подключения к линейному входу звуковой карты - только не забудь трансформатор поставить.
Ответ отправлен: 05.12.2002, 15:07
Отправитель: Bob Johnson
Вопрос № 2031 |
Здравствуйте эксперты. Только сегодня начал учить ассемблер! Не знаете ли где достать электронную книженцию? (только для ламаков). Заранее ПАСИБО!
Вопрос отправлен: 04.12.2002, 15:29
Отправитель: pcgamer
[Следующий вопрос >>] [Список вопросов]
Отвечает Sensey
Здравствуйте, pcgamer!
Тут тебе Юрова с Зубковым (или Свана) посоветуют в бумажном варианте и без меня.
Кинь мне адресок, вышлю справочник по командам - все равно пригодится...
Ответ отправлен: 04.12.2002, 15:47
Отправитель: Sensey
Отвечает Maverick
Доброе время суток, pcgamer!
В поисковике ищи книгу Юрова.
Ответ отправлен: 04.12.2002, 16:08
Отправитель: Maverick
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (38) C / C++ (28) Perl (6) Delphi (19) Pascal (22) Basic / VBA (9) Java / JavaScript (11) PHP (6) MySQL / MSSQL (8) |
Пользователю Windows 95/98/Me (31) Windows NT/2000/XP (21) "Железо" (29) Поиск информации (14) |
Администратору Windows NT/2000/XP (13) Linux / Unix (16) |
Юристу Гражданское право (9) Семейное право (3) Трудовое право (5) КоАП (3) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||