Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 457
от 30.12.2002, 16:10
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 2299 Отправлено ответов: 6917 Активность: 300.8 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
ASMодей Статус: Профессиональный Общий рейтинг: 118.54 [Подробней >>] |
keleb-glin Статус: Опытный Общий рейтинг: 111.69 [Подробней >>] |
Traish Статус: Опытный Общий рейтинг: 128.57 [Подробней >>] |
Maverick Статус: Профессиональный Общий рейтинг: 139.67 URL: Задачи по ассемблеру Телефон: 89039415024 (BeeLine GSM) [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 117.36 [Подробней >>] |
Bob Johnson Статус: Профессиональный Общий рейтинг: 152.13 [Подробней >>] |
baldr Статус: Профессиональный Общий рейтинг: 113.88 URL: Сайт об ОС DOS. Всем, кто любит эту ОС! [Подробней >>] |
Gibbel Статус: Профессиональный Общий рейтинг: 108.3 URL: Страничка обо мне и моих друзьях [Подробней >>] |
Sensey Статус: Профессиональный Общий рейтинг: 121.64 URL: Страничка рассылки по Паскалю Телефон: +38 (0572) 41-76-04 дом. [Подробней >>] |
LIFO Статус: Профессиональный Общий рейтинг: 120.08 URL: наш сайт Телефон: 8 01710 24758 [Подробней >>] |
DiGiT[old] Статус: Опытный Общий рейтинг: 107.13 [Подробней >>] |
Broken Sword Статус: Профессиональный Общий рейтинг: 127.64 URL: моя рассылка по Protected Mode [Подробней >>] |
Andrew Vext Статус: Опытный Общий рейтинг: 107.82 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 2265. Имеется прога которая удаляет файл: cseg segment org 100h Begin: mov ah,13h mov dx,offset File_1 int... (ответов: 5)
Вопрос № 2266. Здравствуйте эксперты. Дайте свои ICQ. Мой: 170878060. Всего доброго.... (ответов: 5)
Вопрос № 2267. Доброго времени суток!!! Может ли кто-нибудь подсказать, как работать с портами (LPT, COM, USB, ISA,... (ответов: 2)
Вопрос № 2268. Уважаемые! вопрос несколько глуповат, но не обессудьте... (ответы просьба слать сюда: brokensword@ma... (ответов: 3)
Вопрос № 2269. Есть TRW 2000,хелпа нет. Работаю по аналогии с Айсом. Меня интересует команда "найти" на S... (ответов: 2)
Вопрос № 2270. Уважаемые господа эксперты.. НЕ хочу будь назойливым , но повторяю свой вопрос - кто нибудь сталкив... (ответов: 2)
Вопрос № 2271. Здравствуйте, Traish. Я сделал все, как вы говорили (я насчет gethostbyname), но ничего кроме сообще... (ответов: 1)
Вопрос № 2272. Здравствуйте, уважаемые Эксперты. Я бы опять хотел уточнить (прошу прощения за назойливость). Вы гов... (ответов: 4)
Вопрос № 2273. Здрасти. У меня вопрос. Программе надо определить, существует ли обработчик одного из прерываний и е... (ответов: 5)
Вопрос № 2274. Вау, Traish! как ты так быстро ответил? Насчет вопроса - в eax действительно 0. Может это быть связа... (ответов: 1)
Вопросов: 10, ответов: 30
Вопрос № 2265 |
Имеется прога которая удаляет файл:
cseg segment
org 100h
Begin:
mov ah,13h
mov dx,offset File_1
int 21h
int 20h
File_1 db 'd:setup.ini',0
cseg ends
end Begin
она у меня не функцианирует,покажите ошибку
и исправленную прогу отправте на мыло ПОЖАЛУЙСТА!!!!
Вопрос отправлен: 25.12.2002, 18:33
Отправитель: Mozart (radmir@newmail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает ASMодей
Здравствуйте, Mozart!
Используй функцию 41h (вместо 13h), остальной текст
программы можно оставить без изменения.
Ответ отправлен: 25.12.2002, 20:24
Отправитель: ASMодей
Отвечает keleb-glin
Приветствую Вас, Mozart!
Ты пытаешься удалить файл 13-й ф-кцией, а это - удаление через FCB, что использовалось только в ДОС 1.0. Там надо заполнять структуру FCB, что не катит. Иак что вместо mov ah, 13h делай mov ah, 41h и всё заработает.
Ответ отправлен: 27.12.2002, 14:54
Отправитель: keleb-glin
Отвечает Traish
Здравствуйте, Mozart!
Вот тебе твоя прога.
Приложение:
Ответ отправлен: 25.12.2002, 19:07
Отправитель: Traish
Отвечает Maverick
Доброе время суток, Mozart!
У тебя не правильно написана структура FCB.
cseg segment
org 100h
Begin:
mov ah,13h
mov dx,offset File_1
int 21h
int 20h
File_1 db 0,'setup ini'
cseg ends
end Begin
Ответ отправлен: 26.12.2002, 16:47
Отправитель: Maverick
Отвечает Ayl
Добрый день, Mozart!
Элементарно. Ты пытаешься использовать функцию удаления файла с помощью FCB, но при этом его не описываешь. Тебе нужно использовать функцию 41h с теми же параметрами. Работа с файлами с помощью FCB - это анахронизм.
Ответ отправлен: 25.12.2002, 19:05
Отправитель: Ayl
Вопрос № 2266 |
Здравствуйте эксперты.
Дайте свои ICQ.
Мой: 170878060.
Всего доброго.
Вопрос отправлен: 25.12.2002, 20:14
Отправитель: kuper (kuper@hotbox.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Maverick
Добрый день, kuper!
В информации об экспертах есть ICQ тех экспертов, которые не против этого.
Ответ отправлен: 26.12.2002, 16:49
Отправитель: Maverick
Отвечает Bob Johnson
Добрый день, kuper!
А вот у меня нет ICQ...
Ответ отправлен: 26.12.2002, 18:55
Отправитель: Bob Johnson
Отвечает baldr
Добрый день, kuper!
эксперт baldr.
ICQ: #164208732
Правда, не скоро ты меня там найдешь...
Ответ отправлен: 26.12.2002, 01:13
Отправитель: baldr
Отвечает Ayl
Доброе время суток, kuper!
Это для спама, что ли? :-)
Вот моя: 5163321
Ответ отправлен: 26.12.2002, 10:44
Отправитель: Ayl
Отвечает Gibbel
Здравствуйте, kuper!
Ну чтож, мои ICQ:
рабочая: #147426672
домашняя #141374374
Ответ отправлен: 26.12.2002, 11:21
Отправитель: Gibbel
Вопрос № 2267 |
Доброго времени суток!!!
Может ли кто-нибудь подсказать, как работать с портами
(LPT, COM, USB, ISA, PCI), как передаватьпринимать данные виз них?
На ассемблере в Windows!!!
В основном меня интересует USB.
Заранее большое спасибо!!!
Вопрос отправлен: 25.12.2002, 21:51
Отправитель: Андрей
[Следующий вопрос >>] [Список вопросов]
Отвечает Maverick
Приветствую Вас, Андрей!
Винда не даст ковырятся во всех портах, а так, теме же командами, что и в дос.
Ответ отправлен: 26.12.2002, 16:49
Отправитель: Maverick
Отвечает Sensey
Добрый день, Андрей!
По USB я уже отвечал. Зайди на www.usb.org - начни оттуда.
Там есть спецификации, так тебе как программисту надо начать изучение 9 главы - там много чего написано.
Удачи!
Лично я с USB больше полугода мучился, пока кое-как заработало...
Ответ отправлен: 26.12.2002, 11:23
Отправитель: Sensey
Вопрос № 2268 |
Уважаемые!
вопрос несколько глуповат, но не обессудьте... (ответы просьба слать сюда: brokensword@mail.ru)
насколько далеко можно уйти с такой системой:
Мать: Soltek SL-75KAV (KT133A), Socket A, UATA/100, AGP 4x, Sound AC'97, ATX
Проц: Athlon XP 1700+ Socket A, 1.47GHz/266, L1=128k, exclusive L2=256k
Видео: ATI RADEON VE 64Mb SDRAM, AGP 4X
Память: 256Mb, PC133
Винт: Seagate Barracuda IV, 40Gb, 7200
т.е. можно ли на ней спокойно поиграть в мафию хотя бы в 800x600 ? а в Doom 3 ?
и вообще, во сколько раз, в процентном соотношении, данная система отличается от аналогичной, но с DDR 266 (или 333) (на чипе, скажем, VT333) по производительности ? Последний вопрос волнует больше всего (было бы очень кстати, если кто то располагает реальными цифрами и данными)
Т.е. DDR-память - это трюк и миф, или реальное увеличение
производительности в несколько раз? Стоит ли на нем экономить?
Почему то у каждого опрошенного мной человека на этот счет свое особое мнение, никаких цифр и реальных фактов я нигде не нашел (может плохо искал)
Вопрос отправлен: 25.12.2002, 22:46
Отправитель: ? (brokensword@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Доброе время суток, ?!
Хочется сразу отметить, что Athlon + Radeon = "полный набор". Т.е. глючить может конкретно (это уж как повезет и руки какие).
Процессор: по тестам очень непонятно реальное положение атлона относительно п4. По последним тестам с ixbt athlon 2.8 где-то лучше, а где-то хуже, чем п4 2.8. У меня сейчас п4 2400 -> 2750 и вот Unreal Tournament 2003 работает не всегда так, как хотелось бы (и вообще, многие современные игры стали прежде всего критичны к процессору, а не к видеокарте - слишком много всего хотят рассчитать в реальном времени). Так что уже если выбрал атлон, то бери хотя бы 2000 (1666).
Видио: radeon ve староват все-таки. Сейчас ведь есть 9000, 9500. Или можно попробовать Ge Force 4 - если есть возможность - то ti, иначе - MX.
Винт: на 40 в наше время маловат, хотя seagate вроде ничего. Советую взять на 80 и чтобы тоже 7200 - это будет на $15 дороже.
Память: много раз и много где я читал, что DDR дает прирост всего-лишь на 25% по отношению к SDR. И вот, например, в видеокартах Ge Force 2 так и было - карты MX (SDR) давали FillRate около 500, в то время как GTS (DDR) - 600-700. А вот в компьютерах оказалось не так. В свое время (давно) я написал прогу, которая тестировала скорость линейного чтения из памяти различной длины (1К, 2К ... 16М). Прога работала на 0-м кольце (под 9х) и вроде как должна была давать реальные результаты (написал на асме - oh, yeah!!!). У меня был п3 (точнее - селерон) 800 -> 1120 (шина 140, т.е. память на ней же) и моя прога показывала скорость чтения из памяти (при мин. задержках всего в BIOS) около 700 мб/сек.
И вот теперь на п4 с DDR я запустил свою прогу и она показала около 2000 мб/сек. (шина памяти - 153 МГц). Это конечно, только линейное чтение, но факт есть факт. Так что советую брать DDR.
Если тебе нужны конкретные числа - иди на www.ixbt.com - там очень много тестов, но за достоверность дать гарантии сложно.
Ответ отправлен: 27.12.2002, 18:33
Отправитель: Bob Johnson
Отвечает LIFO
Доброе время суток, ?!
В Mafia - спокойно, а вот Doom 3 глючить будет, там как минимум проц на 2 гига надо.
Ответ отправлен: 28.12.2002, 11:53
Отправитель: LIFO
Отвечает Sensey
Доброе время суток, ?Меч?!
А ты че, в железо не мог послать?
Рассказываю.
В Мафию не играл, по поводу Дума(альфа-версия):
На такой же машине, но с GeForce Ti4200 имел 7-14 фпс с 1024х768, если много монстров - 4 фпс
Если сам, в ограниченном пространстве - до 20 фпс.
Для Дума надо примерно Ati Radeon 8500 и старше, проц 2 Гига.
Сам же знаешь - хочется играть - купи видуху за 150-200 баксов.
Дождись выхода релиза - поможет- разработчики обещают ускорить.
2) Лично сравнивал DDR и DIMM на разных машинах. На машинах с процом 800-1000Мгц прирост процентор 5-7. На твоей будет процентов 15, даже может 20 - SDRAM на этом машине - узкое горло. Но! DDR стоит 75$ за 256 метров, а DIMM - 26$.
Есть ли смысл платить больше? Нет. Пока DDR не будет стоить в 1.5-1.7 раза больше, а не в 3.
Ответ отправлен: 26.12.2002, 11:34
Отправитель: Sensey
Вопрос № 2269 |
Есть TRW 2000,хелпа нет.
Работаю по аналогии с Айсом.
Меня интересует команда "найти" на Softice что-то типа
s 0 1 ffffffff "1100223344" пробую на TRW, команду принимает т.е
не говорит error comand , но и не ищет.
Если кто с хелпом сидит, пусть не стесняется,шлет,благодарю заранее.
Вопрос отправлен: 25.12.2002, 23:52
Отправитель: Oleg
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Здравствуйте, Oleg!
Help'a к сожалению у меня нет, но сразу могу сказать, что выслать его по неуказанному адресу трудновато...
Ответ отправлен: 27.12.2002, 18:33
Отправитель: Bob Johnson
Отвечает Maverick
Приветствую Вас, Oleg!
Есть старенький хелпак на русском, если надо, то мыль.
Ответ отправлен: 26.12.2002, 16:49
Отправитель: Maverick
Вопрос № 2270 |
Уважаемые господа эксперты.. НЕ хочу будь назойливым , но повторяю свой вопрос - кто нибудь сталкивался с проблемой реализации на асме элементарного пинга удаленного компьютера?
Если да, то поделитесь пожалуйста опытом..
Заранее спасибо..
Вопрос отправлен: 26.12.2002, 09:20
Отправитель: Plex
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Приветствую Вас, Plex!
Тебе, вероятно, не ответили...
Если тебе нужен полный настоящий пинг, ты должен что-то послать в порт 7 - этот порт закреплен за стандантным (RFC 1060) сервисом "эхо". Порт UDP. Что именно посылать - не знаю, может быть все, что хочешь... Тебе должен будет прийти ответ. Куда - тоже точно не знаю. Как посылать - см. MSDN и примеры работы с сокетами.
Ответ отправлен: 27.12.2002, 18:34
Отправитель: Bob Johnson
Отвечает DiGiT[old]
Здравствуйте, Plex!
Под какую ОС№ если под винды, то просто WSA функции. Что сложного№ Не понимаю, если ты собираешься на асме писать такие проги, то хоть представляй как их хотя бы на сях писать.
ЗЫ. Извиняюсь если что, но такая грубая истина. Сначала определись нафига те нужен асм, а потом качай доки и изучай и не задавай глупых вопросов.
Ответ отправлен: 27.12.2002, 05:37
Отправитель: DiGiT[old]
Вопрос № 2271 |
Здравствуйте, Traish.
Я сделал все, как вы говорили (я насчет gethostbyname), но ничего кроме сообщения "программа выполнила недопустимую..." не получил. В чем может быть проблема?
Вопрос отправлен: 26.12.2002, 13:19
Отправитель: Leonid
[Следующий вопрос >>] [Список вопросов]
Отвечает Traish
Добрый день, Leonid!
Без исходника я ничего не могу сказать точно. Проверь свой wsock32 и вообще все файлы, которые включаешь; может ошибка где-нибудь в другом месте, да много тут еще чего может быть. А может, ты не проверяешь eax на 0? Короче, засылай исходник.
Ответ отправлен: 26.12.2002, 13:45
Отправитель: Traish
Вопрос № 2272 |
Здравствуйте, уважаемые Эксперты.
Я бы опять хотел уточнить (прошу прощения за назойливость). Вы говорите, что для того чтобы использовать средства отладки, предоставляемые процом, нужно патчить IDT, т.е отладчики типа SoftIce делают это? Но ведь для этого нужен нулевой уровень привилегий (под НТ). Как же решается эта проблема?
Вопрос отправлен: 26.12.2002, 13:17
Отправитель: Leonid
[Следующий вопрос >>] [Список вопросов]
Отвечает Broken Sword
Приветствую Вас, Leonid!
SoftICE при установке брейкпоинтов типа BPINT модифицирует IDT, а как он это делает? Ну так очень просто, он и имеет этот самый 0 уровень привилегий, загружается еще до ядра (а как по твоему дрова в NT работают)?
Ответ отправлен: 26.12.2002, 15:09
Отправитель: Broken Sword
Отвечает Andrew Vext
Здравствуйте, Leonid!
Создается драйвер (а драйвера выполняются в ядре с нулевым уровнем привилегий), который и выполняет эту работу.
Ответ отправлен: 26.12.2002, 13:50
Отправитель: Andrew Vext
Отвечает Traish
Здравствуйте, Leonid!
Да, для изменения IDT в NT (в отличии от Win9x) нужен 0 уровень привилегий. А проблема решается с помощью драйвера, или ты думал, что в NT нельзя работать в Ring 0? Тогда чем по-твоему отличается SoftIce под Win9x и под NT?
Ответ отправлен: 26.12.2002, 16:21
Отправитель: Traish
Отвечает LIFO
Приветствую Вас, Leonid!
А софт работает под нулевым уровнем.
Ответ отправлен: 28.12.2002, 12:23
Отправитель: LIFO
Вопрос № 2273 |
Здрасти. У меня вопрос.
Программе надо определить, существует ли обработчик одного из прерываний и если нет, то поставить свой. Допустим, прерывание 99h. Для этого она вызывает прерывание 99h командой int 99h. А так как таковского обработчика заведомо нет, она выдает ошибку. Вопрос: как обойти эту ошибку? jc не работает.
Вопрос отправлен: 26.12.2002, 14:09
Отправитель: Faraon (faraon@hotmail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Broken Sword
Приветствую Вас, Faraon!
мда. если это институтское задание, то прикол в другом. Нужно написать такую прогу, которая перехватывает int 99h, причем на свой обработчик, но также в условие входит то, чтобы она не перехватывала его дважды.
Именно так и есть. Тебе нужно перед перехватом проверить нет ли уже ТВОЕГО обработчика в памяти, а сделать это можно как угодно - хоть в регистре возвращать какое то значение, хоть как угодно, ВСЕ ЗАВИСИТ ОТ ТВОЕГО ОБРАБОТЧИКА int 99h. Понимаешь?
А так просто взять и посмотреть, есть ли обработчик или нет - невозможно, потому что что-то же да находится в таблице векторов по вектору 99h, т.е. по адресу, который содержит этот вектор начинается какой-нибудь код, а определить полезный он или нет - невозможно.
Ответ отправлен: 26.12.2002, 15:09
Отправитель: Broken Sword
Отвечает Ayl
Приветствую Вас, Faraon!
Нет, боюсь, что ничего не получится. Если обработчика прерывания нет, то после его вызова программа вообще может больше не получить управления. А что еще будет разрушено - вообще неизвестно. В принципе, это тоже самое, что запустить на выполнение текстовый файл - результат не предсказуем. Поэтому ты либо вызывай прерывания, которые заведомо присутствуют в системе, либо меняй алгоритм.
Что ты вообще пытаешься реализовать?
И какую ошибку выдает? И кто именно?
Ответ отправлен: 26.12.2002, 14:28
Отправитель: Ayl
Отвечает Gibbel
Доброе время суток, Faraon!
Я тебе уже объяснял, но повторюсь...
Проверяешь, куда указывает вектор прерывания 99h.
После сброса он указывает на 0000:0000. Если кто-либо перехватывает это прерывание, то он, соответственно, меняется... Далее, можешь еще проверить, кто перехватил прерывание, выяснив, в адресное пространство какой программы указывает этот вектор.
Ответ отправлен: 26.12.2002, 15:13
Отправитель: Gibbel
Отвечает Bob Johnson
Доброе время суток, Faraon!
Ты можешь напрямую посмотреть вектор прерывания для 99h - если там 0 (у меня так, например), значит обработчика нет...
Ответ отправлен: 27.12.2002, 18:34
Отправитель: Bob Johnson
Отвечает Maverick
Здравствуйте, Faraon!
Ну естественно его там нет.
Ты поставь туда свой обработчик, который и будет проверять наличие проги в памяти.
Ответ отправлен: 26.12.2002, 16:49
Отправитель: Maverick
Вопрос № 2274 |
Вау, Traish!
как ты так быстро ответил?
Насчет вопроса - в eax действительно 0. Может это быть связано с тем, что я не в он-лайне?
Вопрос отправлен: 26.12.2002, 14:32
Отправитель: Leonid
[Следующий вопрос >>] [Список вопросов]
Отвечает Traish
Доброе время суток, Leonid!
Так а ты, что не в он-лайне?! И ожидаешь еще чего-то, кроме ошибки? Преобразование-то кто делать будет? Пушкин? Не твой ведь комп его выполняет. И вообще, что за странный вопрос - проще самому проверить. Только не говори, что у тебя доступа к инету нет - вопрос этот ведь ты как-то отправил.
ЗЫ К тому же можно использовать WSAGetLastError.
Ответ отправлен: 26.12.2002, 16:16
Отправитель: Traish
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (40) C / C++ (29) Perl (5) Delphi (22) Pascal (23) Basic / VBA (11) Java / JavaScript (7) PHP (4) MySQL / MSSQL (5) |
Пользователю Windows 95/98/Me (33) Windows NT/2000/XP (27) "Железо" (30) Поиск информации (14) |
Администратору Windows NT/2000/XP (11) Linux / Unix (14) |
Юристу Гражданское право (6) Семейное право (3) Трудовое право (4) КоАП (2) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||