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

RusFAQ.ru: программирование на языке Assembler


Информационный Канал Subscribe.Ru

RusFAQ.ru: программирование на языке Assembler

Выпуск № 574
от 21.06.2003, 17:40

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 3542
Отправлено ответов: 10399
Активность: 293.5 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Zedr0n
Статус: Начальный
Общий рейтинг: 109.37
[Подробней >>]
Dark_Lord
Статус: Профессиональный
Общий рейтинг: 112.41
[Подробней >>]
Ayl
Статус: Профессиональный
Общий рейтинг: 118.53
[Подробней >>]
 
Tigran K. Kalaidjian
Статус: Опытный
Общий рейтинг: 118.94
URL: Методы оптимизации работы ПК
[Подробней >>]
Lynx
Статус: Опытный
Общий рейтинг: 123.25
Телефон: (8442) 750522
[Подробней >>]
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 151.84
URL: Программирование
[Подробней >>]
 
Дмитрий
Статус: Профессиональный
Общий рейтинг: 140.26
[Подробней >>]
Ramzes
Статус: Профессиональный
Общий рейтинг: 125.2
URL: Microsoft homepage
[Подробней >>]
Hangatyr
Статус: Опытный
Общий рейтинг: 115.37
[Подробней >>]
 
Hayk
Статус: Опытный
Общий рейтинг: 113.78
URL: Perosnal Web Page which has been created long ago.
[Подробней >>]
DiGiT[old]
Статус: Профессиональный
Общий рейтинг: 110.93
[Подробней >>]
_vt
Статус: Опытный
Общий рейтинг: 122.14
[Подробней >>]
 
St
Статус: Опытный
Общий рейтинг: 107.65
[Подробней >>]
Pin
Статус: Опытный
Общий рейтинг: 116.72
URL: My HOMEPAGE
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 3491. хайте, эксперты! 1.как можно организовать 6 вложенных циклов 2.как сделать сложное сравнение типа if... (ответов: 6)
Вопрос № 3492. A ya vot tut nashel koe chto ot chego vse razom konchat!!!!!! http://cr0aker.tiraet.com/menu4-4.shtm... (ответов: 3)
Вопрос № 3493. Здравствуйте LynX! L> Всё никак не угомонишься? Тебя что прёт всех опускать??? Отнюдь, мне это ... (ответов: 1)
Вопрос № 3495. цуцуцууцуц... (ответов: 4)
Вопрос № 3496. Здравствуйте, Не подскажите алгоритм поиска в строке? Спасибо... (ответов: 11)

Вопросов: 5, ответов: 25


 Вопрос № 3491

хайте, эксперты!
1.как можно организовать 6 вложенных циклов
2.как сделать сложное сравнение типа
if ((a<4)and(b<>7))or(y>18) then ...
где
a db ?
b db ?
y db ?
Заранее спасибо.



Вопрос отправлен: 16.06.2003, 17:59
Отправитель: Zensor (ZFTR@Rambler.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Zedr0n

Здравствуйте, Zensor!
Насчет сложного сравнения. Да, можно так:
cmp y,18
ja @@success
cmp b,7
jz @@end
cmp a,4
jg @@end
@@success:
@@end:

Ответ отправлен: 19.06.2003, 11:14
Отправитель: Zedr0n


Отвечает Dark_Lord

Доброе время суток, Zensor!
1) Перед началом каждого цикла push cx, после pop cx
2)
cmp a,4
jnb else_if
cmp b,7
je if_not
jmp short do_proc
else_if:
cmp y,18
jna if_not
do_proc:
...процедура...
jmp end_
if_not:
....если false.....
end_
конец программы


Ответ отправлен: 16.06.2003, 18:59
Отправитель: Dark_Lord


Отвечает Ayl

Здравствуйте, Zensor!
1. Проще всего завести 6 переменных в памяти и работать с ними. Насколько я понял из вопроса, циклы имеются в виду с перечислением (типа FOR .. NEXT на BASIC). См.Приложение.
2. Типа, ручками... См. приложение (часть ).

Приложение:

Ответ отправлен: 16.06.2003, 18:28
Отправитель: Ayl


Отвечает Tigran K. Kalaidjian

Приветствую Вас, Zensor!
Ответ на первый вопрос в приложении.
Ответ на второй вопрос:
cmp a, 4
jge next
cmp b, 7
je next
ok:
; нужные(а может и ненужные =) ) действия
jmp end
next:
cmp y, 18
jg ok
end:
Вобщем, надо разобраться в условных переходах, а остальное просто.

Приложение:

Ответ отправлен: 16.06.2003, 19:56
Отправитель: Tigran K. Kalaidjian


Отвечает Lynx

Приветствую Вас, Zensor!
1. Точно так же как и 3, 4, 5... циклов:
cycl1:
push cx
mov cx, <Счётчик>
cycl2:
push cx
mov cx, <Счётчик>
cycl3:
push cx
mov cx, <Счётчик>
cycl4:
...
loop cycl4
pop cx
loop cycl3
pop cx
loop cycl2
pop cx
loop cycl1


Ответ отправлен: 16.06.2003, 22:06
Отправитель: Lynx


Отвечает Bob Johnson

Добрый день, Zensor!
1. Последовательно.
2. Последовательно.
------------
mov cx, 100
m1:
push cx
mov cx, 200
m2:
...
loop m2
pop cx
loop m1
тупой но рабочий вариант
-------------
cmp [a], 4
jg m1
cmp [b], 7
je m1
then:
-then-
jmp eee
m1:
cmp [y], 18
jg then
eee:

* EMan1.4: ---===*** Have your friend the way you would like him to have you ***===---


Ответ отправлен: 17.06.2003, 01:03
Отправитель: Bob Johnson


 Вопрос № 3492

A ya vot tut nashel koe chto ot chego vse razom konchat!!!!!!
http://cr0aker.tiraet.com/menu4-4.shtml >>>>>>
(3 sverxu)



Вопрос отправлен: 16.06.2003, 18:57
Отправитель: Edward (zeleniy_kot@yahoo.com)

[Следующий вопрос >>] [Список вопросов]

Отвечает Дмитрий

Приветствую Вас, Edward!
Неплохая ссылка. Но видимо фригидность у меня повышенная...


Ответ отправлен: 17.06.2003, 08:45
Отправитель: Дмитрий


Отвечает Bob Johnson

Приветствую Вас, Edward!
Почему же это еще? Книга Зубкова уже давно отсканирована Andrew Vext и есть на моей странице. Так что кончать пока не будем...

* EMan1.4: ---===*** Have your friend the way you would like him to have you ***===---


Ответ отправлен: 18.06.2003, 16:55
Отправитель: Bob Johnson


Отвечает Ramzes

Добрый день, Edward!
Ну страничка неплохая, хотя до оргазма она меня не довела :))

Ответ отправлен: 18.06.2003, 17:29
Отправитель: Ramzes


 Вопрос № 3493

Здравствуйте LynX!
L> Всё никак не угомонишься? Тебя что прёт всех опускать???
Отнюдь, мне это не нравится.. Я лишь высказываю возмущение
о некоторых экспертах. А то что я _не терплю_ глупость, тупость
и непрофессионализм, - не думаю, что это плохое качество.

Теперь вопрос к Вам, Lynx, - поскольку Вы защищаете
"эксперта" Hubba'у, из этого следуют два варианта:
1. Вы не в курсе его ответов, и Вас это не волнует,
но хочется что-то сказать гневное. Будьте любезны
скачать Выпуск № 566 от 13.06.2003, 11:10 по ASM'у
и убедиться, а затем уж и влезать в обсуждение.
2. Или же Вы считаете нормой _такое_ поведение в рассылке,
- следовательно встает большой вопрос не только о Ваших
качествах характера, но и о _компетентности_ как эксперта.
А о том что этот "эксперт" - шизофрен, - говорит его
неадекватное и девиантное поведение.
Теперь по поводу модерирования/экзамена для NewBee-экспертов,
- то что Вы с этим не согласны, говорит только о Вашей
неуверенности в себе и своих знаниях, и кроме того, Вы
противопоставляете себя Старейшинам RusFAQ'а защищая таких
людей. Что не есть хорошо...

Прошу прощения, а с чем Вы не согласны, в том, что
"ИМХО экспертами должны быть профи, only профи..
А всякую мелочь гнать метлой сраной. "??
Надеюсь что о компетентности повторять излишне...
L> Ты вобще, где учишься/работаешь???
Даже если я и напишу, где я работаю, не думаю,
что эта информация хоть как-то повлияет на количественное
соотношение тупости и полезных/интересных идей в рассылке.
PS: Надеюсь, LynX, что Вы разумный человек, чтобы впредь
не допускать таких ошибок.



Вопрос отправлен: 16.06.2003, 22:49
Отправитель: Читатель рассылки

[Следующий вопрос >>] [Список вопросов]

Отвечает Lynx

Доброе время суток, Читатель рассылки!
Вобщем я долго думал, отвечать на это или нет. Если отвечу, то буду спамить рассылку совершенно бесполезнй инфой, а если нет, то... не по правильному как то получиться.
В первую очередь я благодарен тебе за указание номера рассылки, на базе которой ты построил свои обвинения. Вобщем то где то оно правильно. Но... Есть одно "но": Не ты один обратил внимание на поведение этого эксперта и все, кто ещё это заметил уже сформировали своё мнение. Лично я думаю, что чувак себе таким образом просто накручивает счётчик. Пусть это останется на его совести, не нам с тобой его судить. Помнишь "Не судите, да не судимы будете".
И ещё: Пусть о моей компетентности в некоторых вопросах рассуждают те, кому я отвечал.
Если ты хочешь продолжить дискуссию, то будь любезен отправить мне на мыло (lynx@vlink.ru), свой адрес.


Ответ отправлен: 18.06.2003, 16:41
Отправитель: Lynx


 Вопрос № 3495

цуцуцууцуц



Вопрос отправлен: 17.06.2003, 08:34
Отправитель: Hubba (zwitter@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает --- Нет данных ---

бля

Ответ отправлен: 17.06.2003, 08:44
Отправитель: --- Нет данных ---


Отвечает --- Нет данных ---

бял

Ответ отправлен: 17.06.2003, 08:45
Отправитель: --- Нет данных ---


Отвечает Hangatyr

неДобрый день, ZWITTER (ну и ник, хотя хуба не лучше...)
Отвечу, если уж все равно в рассылку это пойдет.
Видел я, конечно, в своей жизни придурков, но ты - это что-то особенное. Мало того, что вместо ответа пишешь всякую хрень, так теперь додумался сам задавать "вопросы" (это еще куда ни шло), да к тому же мылить это в рассылку. Это уже членовредительство какое-то.
Слушай, Гермафродит, если тебе не на что инет тратить, то вот тебе мой мыл: hangatyr@centrum.cz можешь туда писать все, что душе угодно, может я и отвечу...


Ответ отправлен: 17.06.2003, 10:51
Отправитель: Hangatyr


Отвечает Дмитрий

Злое время суток, Хуба!
На твой предыдущий "вопрос" решил не отвечать. Но сейчас отчетливо вижу, что я ошибался. Со временем ты не перебесишься. Ты действительно е$&нутый. Удачи!

Ответ отправлен: 17.06.2003, 09:21
Отправитель: Дмитрий


 Вопрос № 3496

Здравствуйте,
Не подскажите алгоритм поиска в строке?
Спасибо



Вопрос отправлен: 17.06.2003, 15:56
Отправитель: Alex (alex_osipov@list.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Hangatyr

Доброе время суток, Alex!
Алгоритм поиска чего? Для поиска подстроки используйте алгоритм Бойера-Мура. Реализаций его масса - BMBinSearch из masm32, к примеру...


Ответ отправлен: 17.06.2003, 16:46
Отправитель: Hangatyr


Отвечает Hayk

Доброе время суток, Alex!
Есле речь идёт о поиске подстроки в строке то лучше всего при помощи конечного автомата. Реализуйте именно так, эффективно работает.

Ответ отправлен: 17.06.2003, 16:13
Отправитель: Hayk


Отвечает --- Нет данных ---

Добрый день, Alex!
нет


Ответ отправлен: 17.06.2003, 16:02
Отправитель: --- Нет данных ---


Отвечает Tigran K. Kalaidjian

Добрый день, Alex!
Пардон, поиска ЧЕГО? Символа или подстроки. Уточните, пожалуйста.

Ответ отправлен: 17.06.2003, 16:08
Отправитель: Tigran K. Kalaidjian


Отвечает Ayl

Приветствую Вас, Alex!
Ну, например, такой. Пусть строки заданы так:
source db 'моя строка'
source_l EQU $-source
find db 'стр'
find_l EQU $-find
Ищещь первый символ подстроки в строке с помощью SCASB:
mov al, byte ptr [find]
mov cx, source_l
lea si, source
repne scasb
Если CX=0, то ничего не нашли. Иначе DS:SI указывает на найденный символ. Сохраняем эту позицию и сравниваем строку find с куском исходной строки:
push si ; сохраняем найденную позицию
lea di, find ; ES:DI указывает на find. Если ES не установлен на сегмент, в котором находится find, то это нужно сделать
mov cx, find_l
repe cmpsb
Если CX=0, то подстрока найдена. Иначе - нет. Восстанавливаем сохраненное значение SI. В случае, если подстрока была обнаружена - возвращаем это значение (если этот код находится в функции) либо используем по нашему усмотрению. Если же нет, то увеличиваем SI на 1 и снова выполняем поиск первого символа (на при этом SI заново инициализировать не надо и в CX нужно загрузить не длину исходной строки, а длину остатка. Это можно сделать, сохранив значение CX после первого поиска).
Все.

Ответ отправлен: 18.06.2003, 10:55
Отправитель: Ayl


Отвечает Ramzes

Здравствуйте, Alex!
Не могу предложить ничего лучше решения "в лоб", то есть берешь првый символ строки, сравниваешь с первым символом своей последовательности и.т.д.
Хотя если тебе просто надо узнать, есть ли в строке данный символ (один), можно отсортироеать символы в строке и применить бинарный поиск.

Ответ отправлен: 18.06.2003, 17:29
Отправитель: Ramzes


Отвечает DiGiT[old]

Здравствуйте, Alex!
Чего? Если подстроки, то ищещь первый символ в строке а затем начинаешь сравнивать второй и третий и так либо до опровержения либо до успешного сравнения ? Так

Ответ отправлен: 18.06.2003, 05:24
Отправитель: DiGiT[old]


Отвечает _vt

Здравствуйте, Alex!
Используй команды scasb/scasw (18-й выпуск рассылки по DOS)

---===*** E-Man 1.2 - Powerful toy***===---


Ответ отправлен: 17.06.2003, 17:39
Отправитель: _vt


Отвечает St

Привет, Alex!
У меня когда-то были написаны некоторые процедуры такого типа, но я не помню насчет того хорошо ли они были протестированы. Посылаю 2 процедуры, они немного разные (первая для Win32, а вторая вроде для Dos и Win16). Насчет их оптимальности ничего не скажу, не помню.
St

Приложение:

Ответ отправлен: 17.06.2003, 17:55
Отправитель: St


Отвечает Dark_Lord

Добрый день, Alex!
Поздравляю...

Ответ отправлен: 18.06.2003, 18:17
Отправитель: Dark_Lord


Отвечает Pin

Добрый день, Alex!
Поиска чего? См. функции SCANS

Ответ отправлен: 19.06.2003, 00:38
Отправитель: Pin



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (37)
C / C++ (26)
Perl (5)
Builder / Delphi (18)
Pascal (28)
Basic / VBA (9)
Java / JavaScript (13)
PHP (5)
MySQL / MSSQL (6)
Пользователю
Windows 95/98/Me (31)
Windows NT/2000/XP (27)
"Железо" (19)
Поиск информации (15)
Администратору
Windows NT/2000/XP (14)
Linux / Unix (6)
Юристу
Гражданское право (7)
Семейное право (3)
Трудовое право (4)
КоАП (3)

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




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование


Яндекс цитирования
© 2001-2003 Россия, Москва. Авторское право: Калашников О.А.


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

В избранное