Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 312
от 09.07.2002, 02:10
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 688 Отправлено ответов: 1883 Активность: 273.6 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
masquer Статус: Профессиональный Общий рейтинг: 160.64 [Подробней >>] |
UFO Статус: Опытный Общий рейтинг: 113.55 [Подробней >>] |
Broken Sword Статус: Профессиональный Общий рейтинг: 142.85 [Подробней >>] |
Monkey_Logic Статус: Доверительный Общий рейтинг: 137.28 [Подробней >>] |
AnSim Статус: Опытный Общий рейтинг: 110.91 [Подробней >>] |
Александр Статус: Опытный Общий рейтинг: 114.14 [Подробней >>] |
kostik Статус: Профессиональный Общий рейтинг: 114.02 URL: Все о программистах и для программистов Телефон: (4212)393-276 [Подробней >>] |
Sensey Статус: Профессиональный Общий рейтинг: 139.39 Телефон: +38 (0572) 41-76-04 дом. [Подробней >>] |
Spike Статус: Доверительный Общий рейтинг: 122.3 [Подробней >>] |
igorash Статус: Опытный Общий рейтинг: 121.78 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 624. Здрасти всем опять. Созрел ещё один квестчен по поводу системного программирования. Приобрёл я недав... (ответов: 1)
Вопрос № 625. Если написать Крутую ОСь на ассемблере, то как ее установить на дискетку, чтобы с нее (дискетки) заг... (ответов: 6)
Вопрос № 626. Здравствуйте уважаемые эксперты. Мне недавно дали задание написать игру "крестики-нолики"... (ответов: 6)
Вопрос № 627. Уважаемые эксперты Напишите два асмовских юнита, где бы наглядно было показано как константу определ... (ответов: 2)
Вопрос № 628. Уважаемые эксперты Есть строка mov ax, [ esp + 4 ] эта строка работает также как следующая mov ax, [... (ответов: 6)
Вопрос № 629. Привет эксперты! А вы знаете, что сегодня (4 июля) весь цивилизованный мир празнует день независимос... (ответов: 4)
Вопрос № 631. 04.07.2002 Украина Днепропетровск Уважаемый Олег, сразу хочу выразить огромную благодарность Вам за ... (ответов: 3)
Вопрос № 633. Здравствуйте эксперты ! Пишу втророй раз по поваду проги для модема на чипе Rocwell Прога будет сохр... (ответов: 3)
Вопросов: 8, ответов: 31
Вопрос № 624 |
Здрасти всем опять. Созрел ещё один квестчен по поводу системного программирования.
Приобрёл я недавно книгу В.Юрова "Ассемблер прктикум". Очень она мне понравилась, и
содержанием и примерами прог. Хотелось бы продолжения в виде практикума по
системному программированию, подскажите чё нить в бумажном и электронном виде.
Святой Дух.
Вопрос отправлен: 04.07.2002, 02:00
Отправитель: Святой Дух (d_den@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Доброе время суток, Святой Дух!
Можешь попробовать скачать книгу Barry Ko(a???)uler (в смысле либо "о", либо "а" - не помню уже)
Ответ отправлен: 04.07.2002, 11:01
Отправитель: masquer
Вопрос № 625 |
Если написать Крутую ОСь на ассемблере, то как ее установить на дискетку, чтобы с нее (дискетки) загружаться?
Вопрос отправлен: 04.07.2002, 02:20
Отправитель: lelik (mitrosha@mtu-net.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает UFO
Добрый день, lelik!
Если ты ее написал, то таких простых вопросов ты даже и предположить себе не сможешь
Ответ отправлен: 04.07.2002, 14:25
Отправитель: UFO
Отвечает Broken Sword
Доброе время суток, lelik!
столь низменные вопросы не должны заботить писателя "Крутой Оси" )
Ответ отправлен: 04.07.2002, 06:04
Отправитель: Broken Sword
Отвечает Monkey_Logic
Доброе время суток, lelik!
Самый простой способ:
Ставишь в CMOS'e (Advanced Bios Features)загрузку с дискеты
и грузишь :)
Ответ отправлен: 04.07.2002, 03:37
Отправитель: Monkey_Logic
Отвечает AnSim
Добрый день, lelik!
загрузчик надо в соответствующее место записать соответствующим образом :)
Ответ отправлен: 04.07.2002, 10:57
Отправитель: AnSim
Отвечает masquer
Добрый день, lelik!
В нулевой сектор запишись. Я так понял - ты написал Крутую Ось, а теперь думаешь куда ее запихнуть?
Ответ отправлен: 04.07.2002, 11:06
Отправитель: masquer
Отвечает Александр
Доброе время суток, lelik!
самый простой способ - это воспользоваться программой DiskEdit из NortonUtilities или ей подобной. Создаёшь файл с содержимым MBR и записываешь его с помощью команды этого самого DiskEdit в самый первый сектор...
Ответ отправлен: 05.07.2002, 15:56
Отправитель: Александр
Вопрос № 626 |
Здравствуйте уважаемые эксперты. Мне недавно дали задание написать игру "крестики-нолики" 5x5,т.е. поле 5x5, чтобы победить, нужно выстроить линию из четырех крестиков или ноликов, и искусственный интеллект к ней.
В плане искусственного интеллекта я полный профан.
Кто может мне помочь в этой задаче?
Вопрос отправлен: 04.07.2002, 08:48
Отправитель: Александр (academy4@math.dvgu.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает UFO
Здравствуйте, Александр!
Не нужен здесь интеллект никакой, прошу прощения, что так пространно, но на эту тему масса инфы в инете, советую научиться пользоваться поисковыми серверами.
Ответ отправлен: 04.07.2002, 14:29
Отправитель: UFO
Отвечает Broken Sword
Доброе время суток, Александр!
Надеюсь, у нас нет спецов в этой области, т.к. хочется высказаться :)
На самом деле, искуственный интеллект (AI) - это не что иное, как простые (или сложные) алгоритмы, и по сути ни о каком "интеллекте" речи даже не идет.
Приведу простой пример - стратегия (real time). Допустим, нужно где то взять бомбу и побежать ее заложить на базе врага. Так вот, в данном случае, всё AI, мудрость и провидение "компьютера" будет заключатся единственно в том, что каким либо образом обнаружив тебя, еще только бегущего по направлению к бомбе, начнется автоматическое подтягивание войск к базе (или все силы будут брошены чтобы тебя изничтожить).
Где здесь интеллект? По моему, ПРОСТЕЙШИЙ (ну в плане реализации может и не очень) алгоритм. Поэтому чтобы продвинуть игру на рынке приходится выдумывать всяческие заумные термины и т.п.
Компьютер ничего САМ придумать не может и НЕ СМОЖЕТ НИКОГДА (!!!). Результатом его действий может стать ДЛИННЮЩАЯ цепочка размышлений, логических выводов и преобразований, но вся эта цепочка тянется "от начального кода" и ПРЕДУГАДАТЬ результат с точностью стремящейся к 100% можно в 100% случаях. Единственное, что может повлиять на ход его "размышлений", и дать на выходе какое либо осмысленное решение, не зависящее от начальных установ - какой либо непредвиденный СБОЙ в системе (перепад напряжения :), но вероятность того, что выданное таким случайным образом решение окажется осмысленным и полезным сводится к нулю...
это все конечно бред, но в этом что то есть )
теперь насчет крестиков-ноликов :)))))
ну я знаю, там, нужно в них долго играть, чтобы понять ВСЕ премудрости. Ну простейшей, и САМОЙ важной ф-ций, выполняющей роль AI я б сделал следующую:
Если игрок выстроил подряд три крестика(нолика), то не дать ему поставить четвертый :))
или там, если два подряд крестика (нолика) отделены от другого лишь одной пустой ячейкой - влепить туда нолик (крестик)
конечно, если в них (нолики) порезать с часок, то на ум придут и более изощренные алгоритмы AI.
вот я столько писал что пришел к главному выводу - AI это не что иное, как алгоритм анализа ситуации и дальнейшего прогнозирования развития событий. Чем больше выводов мы можем сделать из данной сложившейся ситуации в данный квант :) времени, тем на дальшее количество ходов мы можем спрогнозировать дальнейшее развитие событий, а, значит создать понт "продвинутой в плане AI игры" )
Ответ отправлен: 04.07.2002, 14:31
Отправитель: Broken Sword
Отвечает masquer
Здравствуйте, Александр!
Поищи в инете книгу VB Algorithms - там, правда на ВБ, есть это все. Я у себя ее сейчас просто не найду, пару дней надо :)
Ответ отправлен: 04.07.2002, 11:12
Отправитель: masquer
Отвечает Monkey_Logic
Приветствую Вас, Александр!
Если на ЯВУ, то пожалуйста.
На асме писать исскуственный, да ещё и интеллект я никогда не пробывал...
Ответ отправлен: 05.07.2002, 01:14
Отправитель: Monkey_Logic
Отвечает Александр
Добрый день, Александр!
М-дя. Ну и задачка... Знаешь тут как-бы алгоритм-то простой, если играть на удержание ничьи. Просто надо блокировать все линии противника длиной больше 2. Другая проблема, куда свой нолик ставить если не надо блокировать противника... А решение подобной задачи с использованием "искусственного интелекта" я поищу где-нибудь на моих любимых CD, только это будет всё-таки на C.
Ответ отправлен: 05.07.2002, 15:57
Отправитель: Александр
Отвечает kostik
Здравствуйте, Александр!
Видел алгоритм искуственного интеллекта для крестиков-ноликов на www.algolist.manual.ru. И писать игру тебе советую не на ассемблере, а на С++. Также где-то в Сети видел статью Дональда Кнута про компьютерный алгоритм для игры крестики-нолики(на английском).
Ответ отправлен: 06.07.2002, 13:46
Отправитель: kostik
Вопрос № 627 |
Уважаемые эксперты
Напишите два асмовских юнита, где бы наглядно было показано как константу определенную с помощью EQU можно передать из одного юнита в другой.
При этом TASM не должен ругаться (ни ошибок, ни предупреждений) на строки
mov ax, Const
и
call FAR Const:Function
Вопрос отправлен: 04.07.2002, 09:06
Отправитель: ivekm (ivekm@newmail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Приветствую Вас, ivekm!
Ты вообще-то понял, о чем написал? Юниты, EQU, call FAR??? И отвечать на вопросы в приказном тоне я считаю ниже собственного достоинства. :[]
Ответ отправлен: 04.07.2002, 11:17
Отправитель: masquer
Отвечает Monkey_Logic
Приветствую Вас, ivekm!
Извини, не знаю что такое юниты :(
Ответ отправлен: 05.07.2002, 01:15
Отправитель: Monkey_Logic
Вопрос № 628 |
Уважаемые эксперты
Есть строка
mov ax, [ esp + 4 ]
эта строка работает также как следующая
mov ax, [ ss:esp + 4 ]
Т.е ассемблер (язык низкого уровня) за программиста определяет какой сегментный регистр использовать по умолчанию (выбор между DS и SS). Помоему это допустимо для языков высокого уровня и ни как не допустимо для языков низкого уровня (хотя бы предупреждение надо выдавать)
Вопрос отправлен: 04.07.2002, 09:01
Отправитель: ivekm (ivekm@newmail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Sensey
Добрый день, ivekm!
Ну почему же...
Принято, что регистр sp используется при обращению к стеку, вот он так по умолчанию и пишет...
Литературу лучше читай, во всех учебниках о регистрах по умолчанию написано...
Ответ отправлен: 04.07.2002, 13:12
Отправитель: Sensey
Отвечает masquer
Добрый день, ivekm!
ss - stack segment, esp - stack pointer, какие вопросы, или ты хочешь чтобы стек рос в сегменте данных
Ответ отправлен: 04.07.2002, 11:20
Отправитель: masquer
Отвечает Spike
Добрый день, ivekm!
Если бы ты внимательно читал доки, то знал бы, что регистры SP, ESP предназначены для работы со стеком и используют сегмент SS по умолчанию, поэтому и ошибку он тебе не выдал.
Spike.
Ответ отправлен: 04.07.2002, 12:07
Отправитель: Spike
Отвечает Monkey_Logic
Приветствую Вас, ivekm!
C тобой я полностью согласен. Ведь сегменты в явном виде существуют только
лишь в асме. Отсюда вывод - чтобы избежать путаницы с сегментацией, необходимо явно
указывать сегмент. К тому же в литературе сказано, что оператор переопределения
сегмента - ':', необходим для указания микропроцессору, что мы будем использовать
сегмент отличный от сегмента по умолчанию.
Единственное оправдание - это облегчение понимания "сырцов" программы.
Ответ отправлен: 05.07.2002, 01:17
Отправитель: Monkey_Logic
Отвечает Александр
Доброе время суток, ivekm!
Ассемблер это не язык. Если быть точным - это некая реализация набора команд процессора. Так что все претензии к фирме Intel. И нефиг на зеркало пенять, если лицом не вышел(читать не умеешь)...
Ответ отправлен: 05.07.2002, 15:57
Отправитель: Александр
Отвечает igorash
Добрый день, ivekm!
Ну да, конечно!
SP - регистр указателя стека, вот он и пишет по умолчанию что сегмент стековый, а если надо переназначай.
mov ax, [bx] это тоже самое что mov ax, [ds:bx] и никто вроде не ругался.
Ответ отправлен: 06.07.2002, 01:15
Отправитель: igorash
Вопрос № 629 |
Привет эксперты!
А вы знаете, что сегодня (4 июля) весь цивилизованный мир празнует день независимости от Windows ???
Так что Happy windows independent day всем вам!
ЗЫ хотел отправить в раздел по форточкам, но потом передумал - обидятся ведь :)
Вопрос отправлен: 04.07.2002, 10:19
Отправитель: Zloy
[Следующий вопрос >>] [Список вопросов]
Отвечает Sensey
Здравствуйте, Zloy!
Не знаю как весь цивилизованный мир, а мы (эксперты) сегодня празднуем день Рождения Dron'a - лучшего эксперта среди нас!
Happy Birthday to Dron!
Ответ отправлен: 04.07.2002, 13:14
Отправитель: Sensey
Отвечает AnSim
Доброе время суток, Zloy!
__
||
_||_
|____| ____
| | /
| | /
|____| ||
----
Ну не художник я - пытался рюмку с бутылем нарисовать :)))
Ответ отправлен: 04.07.2002, 11:02
Отправитель: AnSim
Отвечает masquer
Приветствую Вас, Zloy!
Знаем-знаем - wIndependence Day
Ответ отправлен: 04.07.2002, 11:21
Отправитель: masquer
Отвечает Monkey_Logic
Добрый день, Zloy!
А сам то небось это письмецо из "АутГлюка" отправил >:)
Ответ отправлен: 05.07.2002, 01:18
Отправитель: Monkey_Logic
Вопрос № 631 |
04.07.2002
Украина
Днепропетровск
Уважаемый Олег,
сразу хочу выразить огромную благодарность Вам за доступное и грамотное изложения материала. Теперь к сути.
С недавнего времени я пытаюсь с помощью литературы, а теперь, и такого замечательного сайта как Ваш, освоить Assembler. Мне приходилось занимался программированием на Basic и Pascal.
Перспективным я нахожу умение использовать С++Builder. Всё то хорошо, пока не столкнулся с необходимостью организовать совместную работу ПК с внешним устройством. Наиболее оптимальным решением своей проблемы вижу в разложении поставленной задачи на две составляющей:
- создание интерфейса для работы с внешним Device’ом на Builder
- написание кода на Assembler для организации обмена данными
К сожалению до сих пор не встречал хорошо разжёванную документацию для организации работы с портами (LPT и COM).
Мне бы очень хотелось бы прочитать что-то в этом направлении от квалифицированного программиста.
Буду очень благодарен за любую информацию.
С уважением Бардин Владимир.
PS.
Если Вам не будет накладно уделить мне немного внимания вот мой e-mail: Bard81@bk.ru
Вопрос отправлен: 04.07.2002, 20:11
Отправитель: Vladimir
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Здравствуйте, Vladimir!
С++Builder я, например, не нахожу перспективным, но это имхо. В общем случае тебе прийдется писать драйвер, ты, правда не указал, для какой ОС, в принципе можно обойтись и функцией ReadFileEx. Скачай DDK для той операционной системы, для которой писать собираешься, там есть информация о работе с портами.
Ответ отправлен: 04.07.2002, 21:00
Отправитель: masquer
Отвечает Spike
Доброе время суток, Vladimir!
LPT1 - 0378h..037Ah, LPT2 - 0278h..027Ah, LPT3 - 03BCh..03BFh.
BIOS записывает номера найденых портов по адресам:0040h:0008h, 0040h:000Ah, 0040h:000Ch
Управление для всех портов одинаковое, поэтому рассмотрим адреса 0278h..027Ah и подключенным принтером:
0278h для чтения/записи - порт данных. Чтение или запись в этот порт приводит к приему или отправке байта из/в устройство.
0279h для чтения - порт состояния
бит 7: принтер занят, находится в OffLine или произошла ошибка (линия BUSY)
бит 6: нет подтверждения, 1 - принтер не готов к приему следующего байта (линия ACK)
бит 5: нет бумаги
бит 4: принтер в режиме OnLine
бит 3: нет ошибок
бит 2: IRQ не произошло
биты 1-0: 0
027Ah для чтения/записи - порт управления
бит 5: включить двунаправленный обмен данными (режим ECP, EPP)
бит 4: включить генерацию аппаратного прерывания (по сигналу подтверждения)
бит 3: установить принтер в OnLine
бит 2: 0 в этом бите инициализирует принтер
бит 1: режим посылки символа LF (0Ah) после каждого CR (0Dh)
бит 0: линия STROBE
Выводы параллельного порта формата ECP
1 nStrobe -->
2 Data0 <->
3 Data1 <->
4 Data2 <->
5 Data3 <->
6 Data4 <->
7 Data5 <->
8 Data6 <->
9 Data7 <->
10 nAck <--
11 Busy <--
12 PaperEnd <--
13 Select <--
14 nAutoFeed -->
15 nFault <--
16 nInit -->
17 nSelectIn -->
18 GND ---
19 GND ---
20 GND ---
21 GND ---
22 GND ---
23 GND ---
24 GND ---
25 GND ---
<-- Вход сигнала, --> Выход сигнала. Прфикс n перед сигналом означает низкий активный уровень.
По последовательному порту инфа будет чуть позже.
Spike.
Ответ отправлен: 05.07.2002, 12:02
Отправитель: Spike
Отвечает Monkey_Logic
Приветствую Вас, Vladimir!
Большинство программистов (в том числе и я), поступают также как и вы:
основа на ЯВУ, аппаратная часть - на асме. И ваша проблема мне тоже знакома.
Это только небольшая часть ссылок, которые помогут вам справочным материалом приразработке приложений.
Вы наверное уже слышали про Interrupt-List, в нём находится самая последняя
информация о прерывания BIOS и DOS, а также много справочного материала по ассемблеру
вообще, вот ссылка: http://www2.cs.cmu.edu/afs/cs/user/ralf/pub/WWW/files.html
Есть также хороший справочник 1994 года наподобие Interrup-List'а:
http://hi-tech.nsys.by/
в разделе инструментыСправочные системы
Ну и конечно оффициальный сайт фирмы Intel: www.intel.com
Ответ отправлен: 05.07.2002, 01:19
Отправитель: Monkey_Logic
Вопрос № 633 |
Здравствуйте эксперты !
Пишу втророй раз по поваду проги для модема на чипе Rocwell
Прога будет сохранять (принудительно )телефонные разговоры на HDD-(что-то типа , "наблюдения" за сотрудниками фирмы)
Только , тяперя :) хочу написАть прогу сам ,правда на Си..
Вопрос собственно вот в чём..
1.Подскажите как реализовать сие убожество ...'алгоритм'
2.Документ на модем в форате PDF на англиском ,Вытащить в текстовый проц.не получаеться (для перевода), а с моим англицким тока вешаться осталося :),подскажите на каких командах модема надо сосредоточиться ?
и последние самое главное , могу ли я рачитывать на поддержку экспертов ?:).
P.s.Broken Sword , Во сне -то что было ?Если сон эротический , мог бы и поподробнее :).
Вопрос отправлен: 04.07.2002, 20:49
Отправитель: _______________piton. (koltpiton@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Доброе время суток, _______________piton.!
Я уже не помню, тебе или не тебе отвечал - ПРИ ЧЕМ ЗДЕСЬ КАМНДЫ МОДЕМА???? И pdf от модема тебе ни к чему, ни на английском, ни на русском, ин на любом другом языке. Хочешь следить за всеми - заплати деньги, поставь мини-атс и не парься!!!
Ответ отправлен: 04.07.2002, 21:35
Отправитель: masquer
Отвечает Broken Sword
Здравствуйте, _______________piton.!
Сосредоточиться тебе нужно на следующем )) -
#CLS=8 (установка модема в Voice Mode)
#VLS (использовать звуковую карту)
#VRX - установка режима "прием голоса"
настройка периода принятия - #VSP
на поддержку расчитывать можешь (только в разумных пределах :)
Вообщем, все это чудо есть в doc-е, весит 154 кило, могу кидануть
p.s. не, как обычно xor-ил строки и куда то jmp-ал. Кстати, после очередного дня сидения за компом такие предсонные бредни частенько случались... :)
Ответ отправлен: 06.07.2002, 01:04
Отправитель: Broken Sword
Отвечает Александр
Приветствую Вас, _______________piton.!
Э... Ты как хочешь это всё слушать. Надеюсь не через Com-порт. Если у тебя внешний голосовой модем, то проблем вообще нет - соединил звуковой выход модема со входом звуковухи и пишешь всё напрополую. Если же у тебя внутренний, то это надо бороться с PNP и всякими заморочками реализации модема конкретным производителем.
Ответ отправлен: 08.07.2002, 18:00
Отправитель: Александр
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (51) C / C++ (32) Perl (10) Delphi (17) Pascal (29) Basic / VBA (11) Java / JavaScript (6) PHP (6) MySQL / MSSQL (9) |
Пользователю Windows 95/98/Me (46) Windows NT/2000/XP (34) "Железо" (37) Поиск информации (19) |
Администратору Windows NT/2000/XP (18) Linux / Unix (14) |
Юристу Гражданское право (6) Семейное право (3) Трудовое право (5) КоАП (2) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||