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

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.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
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
Отписаться
Убрать рекламу

В избранное