Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
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.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту 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) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||