Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 371
от 21.09.2002, 14:30
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 1299 Отправлено ответов: 4059 Активность: 312.4 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Dark_Lord Статус: Профессиональный Общий рейтинг: 135.53 [Подробней >>] |
Bob Johnson Статус: Доверительный Общий рейтинг: 136.98 [Подробней >>] |
masquer Статус: Профессиональный Общий рейтинг: 157.37 [Подробней >>] |
LIFO Статус: Опытный Общий рейтинг: 134.68 Телефон: 8 01710 24758 [Подробней >>] |
Kiss Статус: Доверительный Общий рейтинг: 144.44 [Подробней >>] |
Gibbel Статус: Профессиональный Общий рейтинг: 108.57 URL: Страничка обо мне и моих друзьях [Подробней >>] |
baldr Статус: Профессиональный Общий рейтинг: 116.98 URL: Сайт об ОС DOS. Всем, кто любит эту ОС! [Подробней >>] |
Beeblebrox Статус: Профессиональный Общий рейтинг: 115.26 URL: Beeblebrox / TMA HomePage [Подробней >>] |
ASMодей Статус: Опытный Общий рейтинг: 124.08 [Подробней >>] |
Broken Sword Статус: Профессиональный Общий рейтинг: 134.46 URL: моя рассылка по Protected Mode [Подробней >>] |
VicSimon Статус: Начальный Общий рейтинг: 103.93 [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 119.5 [Подробней >>] |
igorash Статус: Профессиональный Общий рейтинг: 118.86 [Подробней >>] |
Артём Шегеда Статус: Профессиональный Общий рейтинг: 118.33 URL: Пристанище неодинокого программиста [Подробней >>] |
DiGiT[old] Статус: Доверительный Общий рейтинг: 112.69 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 1244. Здравствуйте ув. эксперты!!! Скажите где по сети взять инфу про программированию графики под дос. В ... (ответов: 2)
Вопрос № 1245. Здравствуйте, уважаемые эксперты. Подскажите, пожалуйста, как можно определить, загружена ли библиот... (ответов: 2)
Вопрос № 1246. Доброе время суток профессионалы! Большая просьба, подскажите где скачать IDA(любую версию) Сайт раз... (ответов: 1)
Вопрос № 1247. Уважаемые эксперты, где можно взять описание FAT32 и NTFS только на русском. На английском мне читат... (ответов: 3)
Вопрос № 1248. Здравствуйте !!! Подскажите, если кто знает, как установить SoftIce c видеокартой NVIDIA VANTA. Stan... (ответов: 3)
Вопрос № 1249. Здравствуйте, уважаемые эксперты! Моя проблема вот в чем: пристыковываемый к любому .com файлу мой с... (ответов: 7)
Вопрос № 1250. Здравствуйте, эксперты. Нет ли у вас доков по антиотладочным трикам? Если есть и нежалко, то скиньте... (ответов: 1)
Вопрос № 1251. Здравствуйте !!! Спасибо masquer и Gibbel за ответы на мой вопрос (как установить SoftIce c видеокар... (ответов: 1)
Вопрос № 1252. Уважаемые эксперты! Обьясните как юзать память в dpmi? Где ни найду : функция 501h прерывания 31h: &... (ответов: 3)
Вопрос № 1253. Уважаемые эксперты, можно ли в одном COM-файле объявить процедуру общей с момщью public, и вызвать е... (ответов: 6)
Вопросов: 10, ответов: 29
Вопрос № 1244 |
Здравствуйте ув. эксперты!!!
Скажите где по сети взять инфу про программированию графики под дос. В частности режим 800*600 TrueColor(или хоть HiColor) и стандарт VESA. Надоело юзать 13h-режим VGA. Мне нужны описания портов и регистров SVGA-мониторов( а то прерывания BIOS работают уж слишком медленно). И если можно поподробнее про адресацию граф. памяти.Если у кого есть эта инфа - киньте на мыло плиз.!!
Спасибо.
Вопрос отправлен: 15.09.2002, 13:12
Отправитель: @lex@ (algenius@online.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Dark_Lord
Доброе время суток, @lex@!
Ух-ты! Я вообще-то это уже давно ищу, но так и не нашёл! В смысле регистры SVGA, только при чём тут мониторы я не понял! Я вообщето этот вопрос уже задавал, но если что будет на счёт портов, скинь мне на Dark_Lord@land.ru! Спасиб!
Ответ отправлен: 15.09.2002, 15:25
Отправитель: Dark_Lord
Отвечает Bob Johnson
Добрый день, @lex@!
Шутник, однако... А какая у тебя хоть видеокарта? Почти любая компания, выпускающая видеокарты считает своим долгом сделать ее несовместимой с другими :-) Вот когда еще был DOS об этом задумались и ... придумали VESA - Video Electronics Standards Association - Ассоциация по стандартам в области видеоэлектроники - вот так. Это и было сделано для хоть какой-нибудь стандартизации. Впоследствии, конечно, все стали выпускать драйвера под Windows с поддержкой Direct3D и все вроде-как нормализовалось. Но вернемся к DOS. Как они это сделали? А очень просто! Вытащи карточку из компьютера и внимательно посмотри на нее - увидишь ПЗУ (иногда Flash) - вот это называют VideoBIOS - ТАМ (!!!) содержатся программы для x86, которые выполняют функции VESA (а вот для S3 была и отдельная программа - univbe (может помните, нужня для игры в Quake 1 на 640х480)). Эти программы туда помещает производитель, который точно знает, как программировать видеокарту.
Лучше всего - переходи под Windows - программировать графику тут очень просто (включая и D3D 8+). Но вообще, VESA поддерживает LFB (но, извини, это только для 32-разрядных программ).
Ответ отправлен: 17.09.2002, 00:41
Отправитель: Bob Johnson
Вопрос № 1245 |
Здравствуйте, уважаемые эксперты. Подскажите, пожалуйста, как можно определить, загружена ли библиотека WSOCK32.DLL в память и если загружена, какими приложениями используется?
Вопрос отправлен: 15.09.2002, 21:26
Отправитель: Denis (maximov_denis@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Приветствую Вас, Denis!
Разве что бегать по всем процессам и проверять. А зечем тебе - если трафик перехватывать или что-то в этом роде - лучше (и проще :)) свой ndis-драйвер написать.
Ответ отправлен: 15.09.2002, 22:17
Отправитель: masquer
Отвечает LIFO
Доброе время суток, Denis!
есть такой дизассемблер W32dasm
там это показывается.
Ответ отправлен: 18.09.2002, 17:01
Отправитель: LIFO
Вопрос № 1246 |
Доброе время суток профессионалы!
Большая просьба, подскажите где скачать IDA(любую версию)
Сайт разработчиков требует пароль и логин.
Благодарю. Alex.
Вопрос отправлен: 15.09.2002, 22:47
Отправитель: Alex (alex5775@email.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает LIFO
Здравствуйте, Alex!
Приложение:
Ответ отправлен: 18.09.2002, 16:35
Отправитель: LIFO
Вопрос № 1247 |
Уважаемые эксперты, где можно взять описание FAT32 и NTFS только на русском. На английском мне читать туго.
И еще кому нужна книжка Юрова в эл. виде подарите мне сканер.
Вопрос отправлен: 16.09.2002, 16:11
Отправитель: Merilyn Manson
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Приветствую Вас, Merilyn Manson!
FAT был у Фроловых описан, NTFS немного на ixbt.com было.
Ответ отправлен: 16.09.2002, 19:06
Отправитель: masquer
Отвечает Kiss
Здравствуйте, Merilyn Manson!
Могу только сказать где найти. Прислать немогу потому, что нет сканера. А найти можеш в книге Владимира Кулакова "Программирование на аппаратном уровне". В ней есть инфа по FAT32 и проги на асме.
Ответ отправлен: 16.09.2002, 19:26
Отправитель: Kiss
Отвечает Bob Johnson
Здравствуйте, Merilyn Manson!
Нормальный ход. У меня есть сканер, подарите мне книжку Юрова - так будет дешевле...
А вот по NTFS ты, наверное, ничего и не найдешь... Microsoft, однако...
Хотя, если книга - В. Юров С. Хорошенко "Assembler учебный курс" - то не надо. Я ее видел... 650 страниц и ОЧЕНЬ много ошибок...
Ответ отправлен: 17.09.2002, 00:40
Отправитель: Bob Johnson
Вопрос № 1248 |
Здравствуйте !!!
Подскажите, если кто знает, как установить SoftIce c видеокартой NVIDIA VANTA. Standart VGA не идёт.
Вопрос отправлен: 16.09.2002, 17:21
Отправитель: Ramil (ram_sat@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Gibbel
Доброе время суток, Ramil!
Странно... У меня, как раз, Standart VGA и работает...
Правда, когда я SI ставил, у меня была ATI 3D RageII...
Ответ отправлен: 16.09.2002, 18:47
Отправитель: Gibbel
Отвечает masquer
Доброе время суток, Ramil!
Universal Video Driver поставь и все должно быть ОК.
Ответ отправлен: 16.09.2002, 19:11
Отправитель: masquer
Отвечает LIFO
Приветствую Вас, Ramil!
В какой системе он не идет?
В XP? Me?
в 98 все идет .
Ответ отправлен: 18.09.2002, 16:59
Отправитель: LIFO
Вопрос № 1249 |
Здравствуйте, уважаемые эксперты!
Моя проблема вот в чем:
пристыковываемый к любому .com файлу мой собственный кол должен содержать команду УСЛОВНОГО ПЕРЕХОДА типа "jc LABEL1"
Понятно, что смещение метки будет уже не то. Если это возможно сделать, то как. Длина файла хранится, предположим, по адресу ds:[100h].
Спасибки.
Вопрос отправлен: 16.09.2002, 22:17
Отправитель: Виталий
[Следующий вопрос >>] [Список вопросов]
Отвечает baldr
Доброе время суток, Виталий!
Используй косвенную адресацию. Вычисляй адрес перехода в регистр, например, bp, а потом делай что-то вроде jmp bp.
Ответ отправлен: 17.09.2002, 11:15
Отправитель: baldr
Отвечает Beeblebrox
Приветствую Вас, Виталий!
jc работает в относительных адресах, а не абсолютных, так что все в порядке. Или расскажи подробнее, где метка, а где команда jc
Ответ отправлен: 17.09.2002, 10:16
Отправитель: Beeblebrox
Отвечает masquer
Здравствуйте, Виталий!
Элементарно, получим дельта-оффсет и посчитаем длины комманд
.data
addr1 dd 03h
.code
start:
call $+5
pop eax ; получим дельта-оффсет
add eax, addr1
add eax, 6+3+2+1 ; здесь длины 2-х add и jmp +1
jmp eax
nop
nop
nop
invoke ExitProcess,0
end start
Ответ отправлен: 17.09.2002, 07:42
Отправитель: masquer
Отвечает Kiss
Приветствую Вас, Виталий!
Ты не как вирусняк пишешь? Я читал об этом, тебе нужно команду перехода на твою метку ставить в начале, в трех битах. А потом для нормальной работы coma те нужно восстановить первых три бита прежде замененных на твою метку. Работает сам делал!
С уважением Kiss!
Ответ отправлен: 17.09.2002, 09:37
Отправитель: Kiss
Отвечает ASMодей
Здравствуйте, Виталий!
Смещение метки будет действительно другим, но команда
JC (также как и все команды условных переходов) будет
работать, потому что в ней задается смещение относительно
нее самой.
Ответ отправлен: 17.09.2002, 07:16
Отправитель: ASMодей
Отвечает Broken Sword
Добрый день, Виталий!
ммммммммда...
Какой такой кол? Осиновый чтоли?
ну предположим это call. Тогда при чем здесь jc?..
Ааа! Код наверное... ну тогда все ясно.
Если jc - ближний (а он другим и не может быть по идее) то тогда ничего не меняется (смещение метки label по любому высчитывается ОТНОСИТЕЛЬНО jc). Ну конечно возможен вариант, что ты что то еще вклинишь между меткой и jc - тогда тут уже ты должен учитывать размер того, чего собственно вклиниваешь.
Ответ отправлен: 16.09.2002, 23:40
Отправитель: Broken Sword
Отвечает Bob Johnson
Здравствуйте, Виталий!
...команды условного перехода используют не абсолютный адрес метки, куда надо перейти, а смещение относительно следующей за JXX команды. Также работает и CALL... Исключение - межсегментный переход - вот там абсолютный адрес. Но тебе, это скорее всего никчему... :-)
Поэтому твой переход будет вполне нормально работать. А вот проблема будет у тебя с обращением к переменным (т.к. они переместятся) или mov ?x, offset - т.к. он тоже переместится. А вообще - см. исходники Win95CIH - написан очень красиво (а ведь наверно вирь пишешь!)
Ответ отправлен: 17.09.2002, 00:40
Отправитель: Bob Johnson
Вопрос № 1250 |
Здравствуйте, эксперты.
Нет ли у вас доков по антиотладочным трикам?
Если есть и нежалко, то скиньте в
Maverick@nightmail.ru
Заранее спасибо!
Вопрос отправлен: 17.09.2002, 10:01
Отправитель: Maverick (Maverick@nightmail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает LIFO
Добрый день, Maverick!
Поищи в инете книгу Касперского 'Техника и философия хакерских атак' да и его статьи тоже ничего.
Ответ отправлен: 18.09.2002, 16:49
Отправитель: LIFO
Вопрос № 1251 |
Здравствуйте !!!
Спасибо masquer и Gibbel за ответы на мой вопрос (как установить SoftIce c видеокартой NVIDIA VANTA).
Universal Video Driver поставлено и не работает.
Забыл указать, что система ME. Загрузка SI идёт с помощью loader в %WINDIR%SYSTEMVMM32, т.е. без патчей io.sys,command.com,regenv32.exe. SI вроде загружается. Сtrl-D ничего не высвечивает.
Если кто ставил SI в ME, просьба ответить.
Вариант с патчами не пробовал. SoftIce - 4.0.5 95/98/ME.
Вопрос отправлен: 17.09.2002, 11:56
Отправитель: Ramil (ram_sat@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает VicSimon
Добрый день, Ramil!
Была проблема с SI v4.0.5, но под Win2k (видеокарта NVIDIA GeForce2 MX200):
Айс грузился, но при нажатии Ctrl+D окно не высвечивал и система "висла", нажатие F5 возвращало все на свои места. То есть окно просто не показывалось!
Проблема решилась установкой драйверов Detonator v23.
Я думаю, что можно и старшей версии. В настройках установлен Universal Video Driver.
Ответ отправлен: 17.09.2002, 12:21
Отправитель: VicSimon
Вопрос № 1252 |
Уважаемые эксперты!
Обьясните как юзать память в dpmi? Где ни найду :
функция 501h прерывания 31h: "bx:cx - размер в байтах", но этоже 16 битные регистры!!! Че мы тогда в дпми лезли? С ECX - вешается win.
Если можно обьясните поподробней, как использовать БОЛЬШИЕ
кусочки памяти (16-32Mb). Или сырец с коментариями какой киньте...
Гончаров Николай kolia_85@rambler.ru
Вопрос отправлен: 17.09.2002, 13:23
Отправитель: Nikolai
[Следующий вопрос >>] [Список вопросов]
Отвечает ASMодей
Добрый день, Nikolai!
В регистре BX - старшие 16 бит, в регистре CX - младшие
16 бит. Итого получаем полные 32 бита.
Ответ отправлен: 18.09.2002, 08:24
Отправитель: ASMодей
Отвечает Ayl
Доброе время суток, Nikolai!
Ты, конечно, извини, но как мне всегда казалось, но пара bx:cx - это нормальное двойное слово 32 бит. Соответственно, оно задает 4294967296 байт, то есть 4Г памяти. Тебе мало?
Ответ отправлен: 17.09.2002, 13:55
Отправитель: Ayl
Отвечает igorash
Приветствую Вас, Nikolai!
вообще-то если учился во 2 классе то должен знать что 16+16=32 (т.е. 4 Гб), в bx - старшее слово а в cx - младшее
Ответ отправлен: 17.09.2002, 14:38
Отправитель: igorash
Вопрос № 1253 |
Уважаемые эксперты, можно ли в одном COM-файле объявить процедуру общей с момщью public, и вызвать ее из другого COM-файла, объявив ее extern. И как все это заставить работать. Заранее премного благодарен.
Вопрос отправлен: 17.09.2002, 14:26
Отправитель: hendrix
[Следующий вопрос >>] [Список вопросов]
Отвечает ASMодей
Здравствуйте, hendrix!
Директивы PUBLIC и EXTERN используются только на этапе
компоновки программы из различных объектных файлов. Никакого
изменения в код программы они не вносят, и ничем не смогут
помочь при вызове процедур из другого файла.
Ответ отправлен: 18.09.2002, 08:28
Отправитель: ASMодей
Отвечает Ayl
Доброе время суток, hendrix!
Только не из COM, а из OBJ.
Да, можно. Делается это примерно так (см. Приложение).
Для создания запускаемого файла делаешь так:
tasm main.asm
tasm proc.asm
tlink main.obj proc.obj /t
В результате получишь файл main.com, который после запуска выведет строку Hello, World!
Приложение:
Ответ отправлен: 17.09.2002, 14:58
Отправитель: Ayl
Отвечает Артём Шегеда
Добрый день, hendrix!
Нет, это очень старый формат файла, а потому такое не предусмотрено.
Однако, можно запустить программу, передав ей параметры, и получить результат.
Можно загрузить программу, проанализировать её на предмет некоторой таблицы процедур, передать управление процедуре со всеми параметрами и получить результат. Так используются (использовались) оверлеи и библиотеки времени исполнения. Сейчас есть Windows и всё это уже не нужно.
Ответ отправлен: 17.09.2002, 15:11
Отправитель: Артём Шегеда
Отвечает Dark_Lord
Доброе время суток, hendrix!
Глупость! Так как дос не многозадачный. Можешь куданибуть загрузить процедуру из одного файла, повесить её на мультиплексорное прерывание и юзать из другой!
Ответ отправлен: 17.09.2002, 21:05
Отправитель: Dark_Lord
Отвечает DiGiT[old]
Доброе время суток, hendrix!
нет нельзя :)))
Это называется в нормальных осях динамическим связыванием. А extern это нужно для этапа связывания obj файлов, если ты конечно имеешь ввиду ДОС. А в винде мона, только не com файлы.
Ответ отправлен: 18.09.2002, 13:04
Отправитель: DiGiT[old]
Отвечает LIFO
Добрый день, hendrix!
Нет, создавай библиотеку.
Ответ отправлен: 18.09.2002, 16:55
Отправитель: LIFO
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (41) C / C++ (30) Perl (8) Delphi (15) Pascal (24) Basic / VBA (13) Java / JavaScript (11) PHP (8) MySQL / MSSQL (10) |
Пользователю Windows 95/98/Me (39) Windows NT/2000/XP (31) "Железо" (38) Поиск информации (14) |
Администратору Windows NT/2000/XP (17) Linux / Unix (18) |
Юристу Гражданское право (9) Семейное право (5) Трудовое право (7) КоАП (5) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||