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

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.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
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)

Отправить вопрос всем экспертам выбранной рассылки.




be number one Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru


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

В избранное