Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 659
от 06.11.2003, 22:10
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 4441 Отправлено ответов: 12825 Активность: 288.7 %
|
От Администратора |
Уважаемые эксперты и читатели!
12 ноября этого года, в среду состоится встреча посетителей ресурса RusFAQ.ru.
Встреча состоится в Москве на станции МЕТРО Фили, в центре зала, по направлению в сторону центра в 18 часов 30 минут. Опоздавших ждем 15 минут.
Желающие приехать, напишите, пожалуйста, письмо мне в произвольной форме, чтобы можно было примерно прикинуть кол-во человек. В настоящий момент на встрече будут присутствовать: DiGiT, Gibbel, Sel и я.
Калашников О.А. (admin@rusfaq.ru)
Список экспертов, ответы которых опубликованы в данном выпуске |
never_again Статус: Доверительный Общий рейтинг: 141.23 [Подробней >>] |
Maverick Статус: Профессиональный Общий рейтинг: 122.99 URL: Эхоконференция по вирмейкингу Телефон: 89039415024 (BeeLine GSM) [Подробней >>] |
Hangatyr Статус: Профессиональный Общий рейтинг: 110.65 [Подробней >>] |
ASMодей Статус: Профессиональный Общий рейтинг: 112.73 [Подробней >>] |
Евгений Иванов Статус: Профессиональный Общий рейтинг: 142.69 URL: Super Assembler Software Телефон: НСС +7 831 3107039 [Подробней >>] |
dr_dolphin Статус: Доверительный Общий рейтинг: 119.38 [Подробней >>] |
netus Статус: Начальный Общий рейтинг: 105.08 [Подробней >>] |
Mortus Alighieri Статус: Начальный Общий рейтинг: 122 [Подробней >>] |
Bob Johnson Статус: Профессиональный Общий рейтинг: 149.4 URL: Программирование [Подробней >>] |
_vt Статус: Профессиональный Общий рейтинг: 120.68 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 4401. А какая система доставки книг у Интела? Почтой или как? Просто я живу в Казахстане, а у них в списке... (ответов: 1)
Вопрос № 4402. Уважаемые эксперты! Я очень сильно благодарен Вам за Ваши ответы и уверен что благодаря им я смогу н... (ответов: 2)
Вопрос № 4404. Уважаемые эксперты, вопрос как правильно работать с сокетами под Win32 , нужна точная последовате... (ответов: 2)
Вопрос № 4405. Здравствуйте, эксперты! Почему при компиляции проги команда "adc [bx],ecx" получается d... (ответов: 2)
Вопрос № 4406. Hi! Привет спецы-коллеги. :) 1) Заведомо глупый вопрос: Много напрограммировали? :) (вопрос не мой &... (ответов: 3)
Вопрос № 4407. Здравствуйте уважаемые эксперты. Можно ли в Asme работать смасивами? Если да, то как? Например дан н... (ответов: 3)
Вопрос № 4408. Всем привет!!! Скажите pls как можно читать с дискетки побайтово. Я сделал прогу которая посекторно... (ответов: 5)
Вопрос № 4409. Здравствуйте. Подскажите, пожалуйста, какой язык програмирования лучше всего изучить мне, если на да... (ответов: 6)
Вопрос № 4410. Здравствуйте! Мне хотелось бы стать хорошим системным программистам, но я мало знаю да в Internet(е... (ответов: 6)
Вопросов: 9, ответов: 30
Вопрос № 4401 |
А какая система доставки книг у Интела? Почтой или как? Просто я живу в Казахстане, а у них в списке выбора страны Казахстана нет: дойдут или не дойдут книги, если в поле адрес я написал "Kazakhstan, СвойГород....", а страну выбрал: Россия?
Вопрос отправлен: 31.10.2003, 02:04
Отправитель: darknez
[Следующий вопрос >>] [Список вопросов]
Отвечает never_again
Доброе время суток, darknez!
А "На деревню, дедушке" не пробовал?
Ответ отправлен: 01.11.2003, 00:15
Отправитель: never_again
Вопрос № 4402 |
Уважаемые эксперты! Я очень сильно благодарен Вам за Ваши ответы и уверен что благодаря им я смогу начать свой путь в познании ассемблера. Нет ничего невозможного, было бы желаниеи все осуществляется.
Вопрос отправлен: 31.10.2003, 07:19
Отправитель: Денис
[Следующий вопрос >>] [Список вопросов]
Отвечает Maverick
Доброе время суток, Денис!
:) В путь, ты сказал великие слова и да пребудет с тобой Сила!
Ответ отправлен: 03.11.2003, 03:50
Отправитель: Maverick
Отвечает never_again
Приветствую Вас, Денис!
Аминь.
Ответ отправлен: 01.11.2003, 00:14
Отправитель: never_again
Вопрос № 4404 |
Уважаемые эксперты, вопрос как правильно работать с сокетами под Win32 , нужна точная последовательность действий какую функцию за какой вызывать, а то что то не идет , к примеру надо послать что то на определенный IP по конкретному порту и получить от определенного IP по фиксированному порту....
P.S. спасибо вам эксперты , ваши советы мне очень помогают , и не ругайтесь по поводу того что эти вопросы якобы для С , все таки исходники мне нужны на ASMе а значит тема рассылки по адрессу...
Вопрос отправлен: 01.11.2003, 12:31
Отправитель: greg
[Следующий вопрос >>] [Список вопросов]
Отвечает Hangatyr
Приветствую Вас, greg!
Попробуй разобраться в том куске кода, что находится в приложении.
Приложение:
Ответ отправлен: 01.11.2003, 15:35
Отправитель: Hangatyr
Отвечает ASMодей
Приветствую Вас, greg!
Смотри здесь:
http://www.wasm.ru/article.php?article=socketvssocket
по-моему как раз то, что нужно.
Ответ отправлен: 03.11.2003, 13:26
Отправитель: ASMодей
Вопрос № 4405 |
Здравствуйте, эксперты!
Почему при компиляции проги команда "adc [bx],ecx" получается db 67,11,0f. Я поставил дерективу USE32. Все адреса нормальные 32 разрядные. Но почему он пишет 0f . У Зубкова написано что он так делает при 16-битном режиме (при 32 битном получается 0f= [di],ecx). Так кто скажет почему он все-таки при USE32 (и при .model flat ) пишет '67,11,0f' ,а не '67, 11, 00001011b' . А как это интерпритирует проц. ( сегмент этого кода будет 32 битным)
Вопрос отправлен: 01.11.2003, 15:35
Отправитель: Alexej (asm@e-mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Добрый день, Alexej!
0Fh - это код операнда.
67h - расширение размера - CX -- ECX.
Что тут непонятного? - используй!
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 01.11.2003, 19:03
Отправитель: Евгений Иванов
Отвечает ASMодей
Добрый день, Alexej!
0F - это код операнда. В данном случае это регистр BX. И в 16- и в 32-разрядном коде он останется регистром BX, поэтому и код его не меняется.
Ответ отправлен: 03.11.2003, 08:11
Отправитель: ASMодей
Вопрос № 4406 |
Hi!
Привет спецы-коллеги. :)
1) Заведомо глупый вопрос: Много напрограммировали? :) (вопрос не мой && ответ не обязателен)
2) Как понизить уровень программы до драйвера?
Есть у меня, например, ловушка клавиш. Так вот мне надо, чтобы при нажатии на кнопки, управление сперва передавалось моей программе, а потом я уже решал, передавать это сообщение дальше.
Как мне это сделать? Может быть уже ловушка здесь не нужна? Тогда как мне драйвер сделать полноценный?
Thank you for answers.
Вопрос отправлен: 01.11.2003, 22:26
Отправитель: URiS (urisff@inbox.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает never_again
Приветствую Вас, URiS!
VxD надо делать.
Ответ отправлен: 01.11.2003, 23:23
Отправитель: never_again
Отвечает dr_dolphin
Приветствую Вас, URiS!
В Windows лучше повесить хук на событие WM_KEYDOWN,
а насчет драйвера, то просто так, уровень понизить неудастся, т.к. драйвер, уж очень специфический вид программы.... Да и не к чему это в твоем случае...
Пока !
Ответ отправлен: 03.11.2003, 08:48
Отправитель: dr_dolphin
Отвечает Maverick
Добрый день, URiS!
2. Что значит понизить программу до драйвера? Я так думаю нужно написать драйвер :))) У них свои особенности написания. Вот и ищи док-ию по написанию драйверов.
Ответ отправлен: 03.11.2003, 03:50
Отправитель: Maverick
Вопрос № 4407 |
Здравствуйте уважаемые эксперты. Можно ли в Asme работать смасивами?
Если да, то как? Например дан неотсортированный массив. Надо его отсортировать и
вывести на экран. Масив заполняется как угодно, точнее как вам
удобно (Random или вводит пользователь).
Вопрос отправлен: 01.11.2003, 22:53
Отправитель: Frost
[Следующий вопрос >>] [Список вопросов]
Отвечает netus
Добрый день, Frost!
Массив в ASM можно рассматривать как последовательность байтов (слов, двойных слов и т.д.).
ArrayByte DB 100h DUP(?) ; массив из 256 байтов
; со случ. значением
ArrayWord DW 32 DUP(?) ; массив из 32 слов
ArrayDWord DD 2,1000h,0 ; массив из 3 двойных слов
; со значениями 2, 1000h, 0
Обращение к элементам ведется через индекс, например так
; Запоминаем начальный адрес массива (его смещение в
; сегменте данных)
mov SI,offset ArrayByte
; Здесь регистр SI выступает как будто в роли индекса
; массива, но на самом деле это адрес ячейки в памяти.
; Записть вида [SI] означает значение (содержимое) по
; адресу памяти содержащемуся в регистре SI.
; Заполнение массива, например нулями
mov CX,100h ; Счетчик итераций цикла
mov AL,0
@@M0:
mov [SI],AL ; Заполнить элемент массива
add SI,1 ; Увеличить индекс
loop @@m0
Ну а сортировка проводится как обычно.
Удачи!
Ответ отправлен: 02.11.2003, 10:23
Отправитель: netus
Отвечает Maverick
Добрый день, Frost!
Да можно хоть с чем работать. Хоть с соковыжималкой, если она с контроллером. Хмм, вообще я в алгоритмах не силен, но все делается запросто, введи в поисковик "алгоритмы сортировки" до вечера не разгребешь. Вот и выбери какая интересует, пузырьковая или какая, а потом и реализуем ее на асме :)
Ответ отправлен: 03.11.2003, 03:51
Отправитель: Maverick
Отвечает never_again
Доброе время суток, Frost!
конечно можно!!! что это за вопрос такой вообще?
а для сортировки бери любой алгоритм и вперёд... Хоть тот же пузырёк возьми (если масив маленький).
если ты тот Frost, который жаловался на то, что в эксперты не взяли, так и поделом тебе за такие вопросы!
Ответ отправлен: 01.11.2003, 23:21
Отправитель: never_again
Вопрос № 4408 |
Всем привет!!!
Скажите pls как можно читать с дискетки побайтово.
Я сделал прогу которая посекторно читает (инт ох25), но хочется побайтово - чтобы была возможность восстановить больше данных со сломаной дискеты. Говорят как то через порты...
с уважением.
Вопрос отправлен: 02.11.2003, 18:10
Отправитель: Эдик (edsam@spidernet.com.cy)
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Доброе время суток, Эдик!
Вот и считывай всю дорожку сразу. При этом будут считываться все данные на дорожке - вот тебе раздолье для восстановления!
А побайтно не получится - аппаратно дисковод гибких дисков поддерживает только посекторную и подорожечную адресацию...
Бывай!
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 02.11.2003, 18:37
Отправитель: Евгений Иванов
Отвечает ASMодей
Доброе время суток, Эдик!
Именно через порты и не побайтно, а посекторно или подорожечно :)
Если нужно могу выслать документацию по программированию контроллера дисковода (пиши сюда: newgene@mail.ru).
Ответ отправлен: 03.11.2003, 09:06
Отправитель: ASMодей
Отвечает dr_dolphin
Добрый день, Эдик!
А кто вам мешает прочитать сектор в буфер с помощью
например прерывания №10 (int 0x10), а потом побайтово
проанализировать этот буфер ???
И еще запомните: Минимально адресуемая единица на диске это сектор. Механизм адресации называется поэтому CHS от Cylinder Head [Sector]/
Удачи !
Ответ отправлен: 03.11.2003, 08:48
Отправитель: dr_dolphin
Отвечает Mortus Alighieri
Приветствую Вас, Эдик!
IMHO я не вижу разницы как читать. Если надо срочно восстановить данные - юзай Easy Recovery.
Ответ отправлен: 05.11.2003, 08:09
Отправитель: Mortus Alighieri
Отвечает Bob Johnson
Здравствуйте, Эдик!
Читать с дискеты можно только посекторно. Это факт. Так работает контроллер дисковода. Единственное, что если повреждения в секторе находятся посредине, то байты до повреждения прочитать теоретически возможно.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 05.11.2003, 21:14
Отправитель: Bob Johnson
Вопрос № 4409 |
Здравствуйте. Подскажите, пожалуйста, какой язык програмирования лучше всего изучить мне, если на данный момент я знаю паскаль (по моим оценкам на уравне среднего) и хочу серьёзно заниматься програмированием. А может лучше дальше совершенствоваться в паскале? Заранее спасибо.
Вопрос отправлен: 02.11.2003, 21:16
Отправитель: punkygnom (punkygnom@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает ASMодей
Здравствуйте, punkygnom!
Если ты неплохо знаешь паскаль, то можешь смело переходить на Delphi. Он сейчас используется почти везде, поэтому знания твои точно будут востребованы. Можешь попробовать С++, и вообще я считаю, что следует попробовать несколько языков, прежде чем выбирать. Тем более, что для разных задач могут потребоваться разные языки (Delphi - для прикладных программ, C++ - для системных).
Ответ отправлен: 03.11.2003, 08:43
Отправитель: ASMодей
Отвечает never_again
Здравствуйте, punkygnom!
совершенствуйся, совершенсивуйся. Лучше знать что-то одно на 100%, чем 100 чего-то на 1%.
Ответ отправлен: 02.11.2003, 21:58
Отправитель: never_again
Отвечает Евгений Иванов
Здравствуйте, punkygnom!
Конечно же Ассемблер!
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 02.11.2003, 23:02
Отправитель: Евгений Иванов
Отвечает dr_dolphin
Приветствую Вас, punkygnom!
Странный вопрос...
Обычно выбор языка программирования опирается на
сугубо личные предпочтения, ну а в вашем случае
я порекомендовал бы C++, поскольку философия языка
та же. Конечно лучше, если бы Вы уже общались c
Object Pascal/
До встречи
Ответ отправлен: 03.11.2003, 08:48
Отправитель: dr_dolphin
Отвечает Mortus Alighieri
Доброе время суток, punkygnom!
учи сначала С, а потом и С++!
Ответ отправлен: 05.11.2003, 08:03
Отправитель: Mortus Alighieri
Отвечает Bob Johnson
Здравствуйте, punkygnom!
Изучай дельфи. Это почти тот же самый паскаль, только под винды и с правом на жизнь (на счет чего часто идут долгие споры).
Язык написания профессиональных программ - С++, но он достаточно сложен.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 05.11.2003, 21:15
Отправитель: Bob Johnson
Вопрос № 4410 |
Здравствуйте!
Мне хотелось бы стать хорошим системным программистам, но я мало знаю да в Internet(е)
я первый раз для меня такой тупик как Win работать с диском я много слышал про
драйвера, но я их не умею делать делал однажды на ASM(е) под MS-DOS, но не как
вызвать не мог но! Под DOS мне не надо он уже устарел
и редко кто с DOS(ом) пользуется.
Но я кое, что нашел, что-то там про Ring0, но не понимаю, как его использовать
Пробовал в Win9x программу, которая работает с этим, а Win9x пишет что ( Память не
может быть READ/WRITE) как я понял, что нельзя в Win записывать в память
И я не знаю, что делать пробовал драйвер делать (VXD) но оно не компилируется что там с
(Имя драйвера.Def) файлом надо сделать я что за файл (Имя драйвера.Def) и что туда надо
писать тоже не знаю у других по разному написано а я не знаю что мне надо писать по
ассемблеру я начинающий и знаю и знаю не много так исходные программы разбираю и
перевожу Borland Pascal, а сам я знаю Толька три языка эти два и плюс DELPHI мне надо
писать это всё на Delphi он продвинуты и у него есть будущие иначе как я в будущим
создавать программу большие.
Кто знает как это всё сделать или кто встречался с этим прошу помощи помогите если
можно с примерами и по меньше кода иначе я не пойму или опять не будет работать как
другие и ещё что такое файл (Имя файла.DEF) и можно ли создавать драйвера с
TASM32/TLINK32 под Win и что такое RING0
И если вы тоже системный программист поделитесь начальными!
Успехов вам в жизни и здоровье!
[---------------------------------------- Резюме ----------------------------------------]
DATA = 2003г седьмой месяц.
E-MAL = IdealPro@yandex.ru
NAME = Аскар
Вопрос отправлен: 02.11.2003, 22:08
Отправитель: IdealPro
[Следующий вопрос >>] [Список вопросов]
Отвечает Mortus Alighieri
Приветствую Вас, IdealPro!
i. Ring0 - Ring1 - Ring3 : wasm.ru -> iczelion's tutorials
ii. Tasm32 + Tlink32 для драйверов не годятся. используй M$ VC++ или M$ VS.NET/C++
iii. Borland PASCAL и Delphi не разные языки, imho это всё PASCAL.
iiii. писать БОЛЬШИЕ проги можно и на asm'е, и на VB, и на BCB....
v. учи С/С++ и ASM (можно AT&T syntax)
Ответ отправлен: 04.11.2003, 17:44
Отправитель: Mortus Alighieri
Отвечает Евгений Иванов
Здравствуйте, IdealPro!
Def-файл - в нём указываются данные для связного:
NAME MyProgram
DESCRIPTION 'Моё название'
CODE PRELOAD MOVEABLE DISCARDABLE
DATA PRELOAD MOVEABLE MULTIPLE
EXETYPE WINDOWS
STUB 'STUB.EXE'
HEAPSIZE 65536
STACKSIZE 65536
Всё понятно по названию..
Удачи!
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 02.11.2003, 23:06
Отправитель: Евгений Иванов
Отвечает dr_dolphin
Добрый день, IdealPro!
Ну вот вам по порядку:
Изучите ассемблер
Изучите С/С++
Возмите Microsoft DDK с документацией
И пишите себе драйверы под Windows
Ну на это все, правда, у вас может уйти вся жизнь....
Удачи!
Ответ отправлен: 03.11.2003, 08:48
Отправитель: dr_dolphin
Отвечает ASMодей
Здравствуйте, IdealPro!
Я тебе одну умную вещь скажу, только ты не обижайся :)
По-моему человек с такой кашей в голове как у тебя (судя по содержанию вопроса) просто по определению не может быть хорошим системным программистом. И то, что ты не смог ничего сделать ни для DOS, ни для Win95, лишнее тому подтверждение. Посоветовать могу лишь одно - доводи дело до конца. Если начал писать драйвер для DOS, то закончи его, сделай так чтобы он вызывался и правильно работал. То же и с VXD-драйверами. А вот если что-то не будет получаться, то тогда уже пиши сюда и задавай конкретный вопрос.
Ответ отправлен: 03.11.2003, 08:57
Отправитель: ASMодей
Отвечает never_again
Доброе время суток, IdealPro!
сначала выучи русский, потом берись за ассемблер.
Ответ отправлен: 03.11.2003, 14:47
Отправитель: never_again
Отвечает _vt
Приветствую Вас, IdealPro!
> по ассемблеру я начинающий
Этот вопрос не для начинающего...
> делал однажды на ASM(е) под MS-DOS, но не как вызвать не мог
Тоже интересно: а в чем были проблемы?
> Под DOS мне не надо он уже устарел
...
> пробовал драйвер делать (VXD)
Модель драйверов VXD используется только в Win9x, которые также устарели, как и DOS...
Итак, Windows работает в защищенном режиме процессора, который подразумевает разделение возможностей программ - ядро системы работает в нулевом кольце защиты (Ring0), т.е. может выполнять любые команды процессора и имеет доступ ко всему железу напрямую. Драйвера также имеют такую возможность. Для написания драйвера нужен DDK (Device Driver Kit) - заголовочные файлы, справка, доп. средства - для соответствующей ОС. В настоящее время актуальны Win2000 и ХР, ну и Win98, который наряду с основной моделью драйверов (WDM), может работать и со старым вариантом(VXD), который можешь и написать для тренировки.... Подробно описание VXD-драйвера с примером вроде лежало у Боба Джонсона (http://bobjohnson.nm.ru), можешь почитать...
*** E-Man - can help you***
Ответ отправлен: 03.11.2003, 03:48
Отправитель: _vt
Форма отправки вопроса |
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
(C) 2002-2003 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (32) C / C++ (26) Perl (3) Builder / Delphi (22) Pascal (20) Basic / VBA (6) Java / JavaScript (8) PHP (13) Криптография (9) WinAPI (14) |
Пользователю Windows 95/98/Me (46) Windows NT/2000/XP (63) "Железо" (40) Поиск информации (28) |
Администратору Windows NT/2000/XP (39) Linux / Unix (16) |
Юристу Гражданское право (10) Семейное право (7) Трудовое право (7) КоАП (7) |
Отправить вопрос всем экспертам выбранной рассылки.
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||