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

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


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

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

Выпуск № 302
от 27.06.2002, 21:10

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


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

Shal
Статус: Доверительный
Общий рейтинг: 106.62
[Подробней >>]
baldr
Статус: Профессиональный
Общий рейтинг: 119.93
URL: Сайт об ОС DOS. Всем, кто любит эту ОС!
[Подробней >>]
Федос
Статус: Доверительный
Общий рейтинг: 119.1
[Подробней >>]
 
Portnov
Статус: Опытный
Общий рейтинг: 155.37
[Подробней >>]
masquer
Статус: Профессиональный
Общий рейтинг: 160.82
[Подробней >>]
Guess Who
Статус: Доверительный
Общий рейтинг: 105.2
[Подробней >>]
 
Broken Sword
Статус: Профессиональный
Общий рейтинг: 145.92
[Подробней >>]
Gibbel
Статус: Опытный
Общий рейтинг: 109.77
URL: Страничка обо мне и моих друзьях
[Подробней >>]
Blackeye
Статус: Профессиональный
Общий рейтинг: 118.75
URL: Delphi, my programms...
[Подробней >>]
 
Sensey
Статус: Профессиональный
Общий рейтинг: 143.28
Телефон: +38 (0572) 41-76-04 дом.
[Подробней >>]
Vint by Shz
Статус: Доверительный
Общий рейтинг: 114.37
[Подробней >>]
Александр
Статус: Опытный
Общий рейтинг: 114.83
[Подробней >>]
 
Zloy
Статус: Доверительный
Общий рейтинг: 105.4
[Подробней >>]
vitya
Статус: Опытный
Общий рейтинг: 117.14
[Подробней >>]


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

Вопрос № 511. Здраствуйте не подскажите где можно скачать в интернете сборник упражнений для самопроверки по ассем... (ответов: 3)
Вопрос № 512. При работе в AFD PRO не правильно расспознается команда AND (ставил оп код 83.... в любое место но ... (ответов: 5)
Вопрос № 513. Ув. Эксперты. Просветите насчет Турбо Дебаггера от Борланда. Он только с экзешными файлами работает ... (ответов: 9)
Вопрос № 515. Уважаемые эксперты,у меня такой вопрос: для того,чтобы определить номер головки винта, дорожки, сект... (ответов: 5)
Вопрос № 516. Уважаемые эксперты,1. У меня MSDN от Visual C++,6.00, в описании ф-ий WinInet говорится,что подробна... (ответов: 3)
Вопрос № 517. Уважаемые эксперты,понятно,как можно вставить свой элемент меню в меню другой проги,handle окна –> h... (ответов: 2)
Вопрос № 518. Уважаемые эксперты,подскажите,где можно скачать "Б.Керниган, Д.Ритчи. Язык программирования Си.... (ответов: 3)
Вопрос № 519. Уважаемые эксперты,я так и не получил ответа на свой вопрос как можно получить ID процесса другой пр... (ответов: 1)

Вопросов: 8, ответов: 31


 Вопрос № 511

Здраствуйте не подскажите где можно скачать в интернете сборник упражнений для самопроверки по ассемблеру заранее спасибо



Вопрос отправлен: 23.06.2002, 10:58
Отправитель: mirik

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

Отвечает Shal

Доброе время суток, mirik!
Могу выслать тебе лабы. Там куча заданий. Могу, если что помочь.


Ответ отправлен: 23.06.2002, 17:23
Отправитель: Shal


Отвечает baldr

Доброе время суток, mirik!
Мда... Ну скажи ты мне пожалуйста - как ты будешь самопроверяться?? Типа, писать программу и
потом смотреть "правильный" пример из книжки? Так ведь на любую тему можно написать бесконечное
число программ и все они будут правильными! Тебе нужны не задачники! Пиши сначала просто
программы для повседневных нужд. Например, файлик какой-нибудь перекодировать или примерчик
посчитать!
Нет ничего лучше для обучения, чем реальная задача... А если ты будешь тупо набивать примеры
из книжек или следовать инструкциям "от А до Я", у тебя уйдет уйма времени, а самостоятельно
думать они тебя не научат.


Ответ отправлен: 24.06.2002, 00:21
Отправитель: baldr


Отвечает Федос

Добрый день, mirik!
Попробуй написать свою ОС. Это и будет самопроверка.


Ответ отправлен: 24.06.2002, 08:52
Отправитель: Федос


 Вопрос № 512

При работе в AFD PRO не правильно расспознается команда AND (ставил оп код 83.... в любое место но стем же результатом - кто то может мне сказать в чем дело) IDA 3.76 его правильно десассемблирует.



Вопрос отправлен: 23.06.2002, 14:09
Отправитель: Yura

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

Отвечает Portnov

Здравствуйте, Yura!
Извините, но я просто не выдержал.
"неправильно" в данном случае нужно писать вместе.
"опкод" пишется вместе.
"с тем же" - раздельно.
Правильно писать "кто-то", "дизассемблирует".
Теперь к делу...
Я посмотрел сейчас, что такое опкод 83h. Это AND, если AND r/m16,imm8 или AND r/m32,imm8. Проверил первое в AFD - все нормально. А вот второе действительно будет распознано неправлиьно, т.к. 32-битные регистры появились только в 386, а AFD писался, когда только что появился 286. Так что вашу программу нужно отлаживать другим отладчиком, напр., TurboDebugger'ом.
С уважением, Portnov.

Ответ отправлен: 23.06.2002, 18:56
Отправитель: Portnov


Отвечает masquer

Приветствую Вас, Yura!
Меняй отладчик, на SoftIce, например

Ответ отправлен: 23.06.2002, 14:12
Отправитель: masquer


Отвечает Guess Who

Приветствую Вас, Yura!
Ну дык, вещь то древняя:), аж 87(под 286) года, возможно еще тогда такой команды не было, попробуйте взять что-нибудь посвежее.

Ответ отправлен: 23.06.2002, 17:49
Отправитель: Guess Who


Отвечает Broken Sword

Добрый день, Yura!
Я могу точно сказать в чем дело.
AFDPro - 87 года рождения, что с него взять... хотя дело и не в этом.
Вот вообще тут порылся по второму тому с Intel-а и обнаружил любопытную детальку: там где описание команды and, имеется прелюбопытная табличка (см. в приложении, только предварительно скопируй куда нить в текстовый док. чтоб она приобрела божий вид)
Так вот, обрати внимание на and, когда слева стоит 16-разр. регистр, а справа - 8-разр. число. Видишь в скобочках sign-extended? В нем все и зарыто. Просто это не каждому отладчику дано... Все остальное (без расширения по знаку) AFD прекрасно ловит.
А вообще юзь avputil (помойму, самый путевый дебагер для RM). Если хошь - вышлю (пиши на brokensword@mail.ru).

Приложение:

Ответ отправлен: 23.06.2002, 19:04
Отправитель: Broken Sword


Отвечает baldr

Здравствуйте, Yura!
Да... Ты прав! Но вот, если посмотреть на дату его "изготовления" (а у меня версия 1.0), то
мы увидим число 1987 (!!)! Я сам не поверил, но кажется, так оно и есть! :( Смотрел в самом файле.
Так что, возможно, в те времена оно еще не поддерживалось. В смысле, такой код (83h), который
получается при ассемблировании команд вида AND r/m16, imm8 (то есть 16-битный
регистр или ячейка памяти и 8-битный (!) непосредственный операнд) могли не поддерживаться
в те времена существующими процессорами.
Короче, полазив в exe-шнике, я не нашел поддержки команд выше 80186, и среди строк сообщений
нашел один раз число "286" ;). Так что, можно сделать выводы о пригодности данного отладчика в
наши дни... :)
Впрочем, программы выполняются достаточно корректно, так что единственная (ну почти!) проблема
состоит в неудобстве дизассемблирования некоторых прог...


Ответ отправлен: 24.06.2002, 00:20
Отправитель: baldr


 Вопрос № 513

Ув. Эксперты.
Просветите насчет Турбо Дебаггера от Борланда. Он только с экзешными файлами работает ???
Я до сих пор пользовался AFD и как с ТД работать не знаю.
А мне нужно бы сом-файлы отлаживать.
Спасибо.



Вопрос отправлен: 23.06.2002, 14:21
Отправитель: Oleg

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

Отвечает masquer

Приветствую Вас, Oleg!
Просто попробуй, должен отлаживать :)

Ответ отправлен: 23.06.2002, 14:50
Отправитель: masquer


Отвечает Guess Who

Добрый день, Oleg!
С com он тоже прекрасно работает.
F8 - трассировка без захода в процедуры.
F7 - трассировка с заходом в процедуры.

Ответ отправлен: 23.06.2002, 17:46
Отправитель: Guess Who


Отвечает Portnov

Здравствуйте, Oleg!
У меня TD версий 3 и 6. Оба совершенно нормально работают с COM-программами. Единственная тонкость - формат COM не позволяет включать отладочную информацию, поэтому при загрузке в TurboDebugger'е будет предупреждение "Program has no symbol table", но если вам отладочная информация не нужна, то все нормально. Загружать либо
TD MyProg.com,
либо в TD выбрать File\Open.
С уважением, Portnov.

Ответ отправлен: 23.06.2002, 18:57
Отправитель: Portnov


Отвечает Shal

Приветствую Вас, Oleg!
Пишешь в командной строке: td.exe *.com. Там, в этом отладчике же меню есть вроде как. И в этом меню можно открывать файлы.


Ответ отправлен: 23.06.2002, 17:30
Отправитель: Shal


Отвечает Gibbel

Приветствую Вас, Oleg!
TD прекрасно работает, как с .exe так и с .com

Ответ отправлен: 24.06.2002, 10:28
Отправитель: Gibbel


Отвечает Blackeye

Доброе время суток, Oleg!
Почему только с exe и с com он работает тоже.

Ответ отправлен: 24.06.2002, 21:42
Отправитель: Blackeye


Отвечает baldr

Здравствуйте, Oleg!
Я, кажется понял в чем проблема... Почти у всех начинающих такой вопрос возникает... :)
В окне "открыть" ("Open") замени маску "*.exe" на "*.com" или, еще лучше на "*.*" и выбирай
свой файлик...


Ответ отправлен: 24.06.2002, 00:20
Отправитель: baldr


Отвечает Федос

Здравствуйте, Oleg!
C com-ами он тоже работает и вполне нормально.


Ответ отправлен: 24.06.2002, 08:51
Отправитель: Федос


Отвечает Sensey

Приветствую Вас, Oleg!
Работает, нормально.
Только хохма в том, что в ком-файлы дебаг-инфо не засунешь
:(


Ответ отправлен: 25.06.2002, 14:15
Отправитель: Sensey


 Вопрос № 515

Уважаемые эксперты,у меня такой вопрос: для того,чтобы определить номер головки винта, дорожки, сектора,и подобные вещи,в том числе работа с boot-сектором и железом,это все можно делать только asm’oм для DOS’a или всего этого же можно добиться при помощи API?А,вообще-то,мне лично трудно въехать,говорят даже на Millenium’e DOS’a уже нет,с другой стороны,я подозреваю,что мне ответят,что на API всего не сделаешь,так,все-таки что же работает конкретно на PC,если зреть в корень - чудо-функции типа fn 08h int 13h или ф-ии API?Растолкуйте,плз,а то как же можно делать что-то серьезное,если не знаешь какие шестеренки конкретно крутятся в конечном итоге,если убрать всю шелуху.Достаточно ли знать из DOS’овского синтаксиса только те вещи,которые пригодятся,скажем в MASM’e вдобавок к API или все-таки нужно плотно учить DOS’овский asm?
Заранее благодарен, Leo



Вопрос отправлен: 23.06.2002, 20:59
Отправитель: Leo (a.leo@37.com)

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

Отвечает masquer

Добрый день, Leo!
под НТ можно использовать CreateFile \.PHYSICALDRIVEx. Смотри в МСДН, иначе пиши драйвер.
Я про ДОС уже и забыл, не нужен он мне сейчес и не понадобится больше в дальнейшем, так что решать тебе

Ответ отправлен: 23.06.2002, 21:39
Отправитель: masquer


Отвечает baldr

Доброе время суток, Leo!
Во-первых, DOS на миллениуме есть, хотя он там спрятан... :)
А во-вторых... Короче, я не знаю наверняка - есть такие API-функции или их нет (подозреваю,
что все же есть!), но я скажу тебе, как бы я сам делал в таком случае...
Если мне надо обратиться к железу, причем, качественно, я ни в коем случае не буду использовать
API-функции... Это относится как к WinAPI, так и к прерываниям...
Только порты...
Просто совет: потрать пару дней на серьезную разборку с асмом и портами и потом - в будущем,
ты будешь подобные вещи делать гораздо быстрее...


Ответ отправлен: 24.06.2002, 00:19
Отправитель: baldr


Отвечает Федос

Добрый день, Leo!
досовский асм, конечно вещь, но если хочешь работать с железом, то тебе лучше использовать BIOS и API.


Ответ отправлен: 24.06.2002, 08:49
Отправитель: Федос


Отвечает Vint by Shz

Здравствуйте, Leo!
Если ты собираешся писать тока под винду, мона и не знать хорошор дос асемблер ,но если хочеш хорошо разбираться в компах-обязательно.


Ответ отправлен: 25.06.2002, 08:22
Отправитель: Vint by Shz


Отвечает Александр

Приветствую Вас, Leo!
Ну начнём с того, что ДОС-программирование в некотором роде проще. Поэтому необходимо знать, любить и уважать эту систему. А по поводу работы с жёстким диском на нзком уровне, то это возможно не только через int 13h. Но насколько я понимаю, то в драйверах всё равно используют это "волшебное прерывание BIOSа. А в других операционных системах, не будем тыкать на них пальцем, общение идёт напрямую с контроллером.


Ответ отправлен: 27.06.2002, 16:38
Отправитель: Александр


 Вопрос № 516

Уважаемые эксперты,1. У меня MSDN от Visual C++,6.00, в описании ф-ий WinInet говорится,что подробная инфа по использованию этих ф-ий будет представлена в последующих версиях данной документации (Detailed information on how to use these functions will be included in a future version of this documentation.)
Подскажите,плз,можно ли где-то достать эту документацию или для этого нужно ставить MSDN от Visual C++,7.00?
2. Может кто-нибудь приведет пример типичной последовательнсти ф-ий скажем для копирования файлов со своего почтового ящика?
Заранее благодарен, Leo



Вопрос отправлен: 23.06.2002, 21:00
Отправитель: Leo (a.leo@37.com)

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

Отвечает masquer

Добрый день, Leo!
1. Я не знаю как ты смотришь, у меня почти такой же и все нормально.
2. Смотри винсокет и RFC

Ответ отправлен: 23.06.2002, 21:42
Отправитель: masquer


Отвечает Zloy

Здравствуйте, Leo!
Библиотека системного програмиста:
http://prog.km.ru/doc/bsp/index.html
какой том не помню, но что-то типа програмирование для интернет


Ответ отправлен: 23.06.2002, 21:21
Отправитель: Zloy


Отвечает Федос

Доброе время суток, Leo!
эта документация есть только у мелкомягких и тех, кто подписан на их рассылку(оченть дорогую) дисков с MSDN.
у меня есть MSDN за декабрь 2001 года, если надо, то пиши на nacilnic@pisem.net

Ответ отправлен: 24.06.2002, 08:47
Отправитель: Федос


 Вопрос № 517

Уважаемые эксперты,понятно,как можно вставить свой элемент меню в меню другой проги,handle окна –> handle меню и т.д. А как подставить к-л действие под этот элемент меню.SetWindowLong в чужом процессе не работает (The SetWindowLong function fails if the window specified by the hWnd parameter does not belong to the same process as the calling thread.)Существует ли другой вариант?
Заранее благодарен, Leo



Вопрос отправлен: 23.06.2002, 21:02
Отправитель: Leo (a.leo@37.com)

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

Отвечает masquer

Приветствую Вас, Leo!
Способов масса - внедрить библиотеку, подпатчить код - но это все не для новичка. Возьми книгу Рихтера и почитай, там в деталях описывается. И вообще, что ты пытаешься сделать функцией SetWindowLong, заставить обрабатывать сообщение????

Ответ отправлен: 23.06.2002, 21:52
Отправитель: masquer


Отвечает vitya

Доброе время суток, Leo!
к слову, во первых "может" не работать, а во вторых только в win95/98. Если под NT, то все ок, и еще упор на может!

Ответ отправлен: 24.06.2002, 10:56
Отправитель: vitya


 Вопрос № 518

Уважаемые эксперты,подскажите,где можно скачать
"Б.Керниган, Д.Ритчи. Язык программирования Си. Издание второе, переработанное и дополненное".
Заранее благодарен, Leo



Вопрос отправлен: 23.06.2002, 21:03
Отправитель: Leo (a.leo@37.com)

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

Отвечает masquer

Добрый день, Leo!
в инете есть, видел недавно. где - не помню, ищи лучше

Ответ отправлен: 23.06.2002, 21:43
Отправитель: masquer


Отвечает Portnov

Приветствую Вас, Leo!
Не переработанное есть у Dron'а на asmdev.narod.ru, в HTML-формате. Насчет вашего запроса не знаю, может, поисковики что-нибудь дадут?
С уважением, Portnov.

Ответ отправлен: 24.06.2002, 19:31
Отправитель: Portnov


Отвечает Федос

Доброе время суток, Leo!
http://src.fitkursk.ru/


Ответ отправлен: 24.06.2002, 08:44
Отправитель: Федос


 Вопрос № 519

Уважаемые эксперты,я так и не получил ответа на свой вопрос как можно получить ID процесса другой проги без окна. Если кто знает,подскажите,плз!
Заранее благодарен, Leo



Вопрос отправлен: 23.06.2002, 21:04
Отправитель: Leo (a.leo@37.com)

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

Отвечает masquer

Приветствую Вас, Leo!
Используй хуки, и вообще, почитай Рихтера, я все равно не смогу здесь распинаться (равно как и где либо - это в двух словах не получиться). Книгу можно либо скачать, либо купить (второй вариант предпочтительней)

Ответ отправлен: 23.06.2002, 21:58
Отправитель: masquer



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

Внимание!
Форма может работать некорректно в почтовых программах "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 (48)
C / C++ (29)
Perl (9)
Delphi (17)
Pascal (26)
Basic / VBA (16)
Java / JavaScript (6)
PHP (7)
MySQL / MSSQL (9)
Пользователю
Windows 95/98/Me (46)
Windows NT/2000/XP (34)
"Железо" (42)
Поиск информации (21)
Администратору
Windows NT/2000/XP (16)
Linux / Unix (11)
Юристу
Гражданское право (9)
Семейное право (4)
Трудовое право (6)
КоАП (3)

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




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

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


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

В избранное