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

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


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

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

Выпуск № 708
от 25.03.2004, 15:00

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


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

Bob Johnson
Статус: Профессиональный
Общий рейтинг: 142.76
URL: Программирование
[Подробней >>]
Pawel
Статус: Профессиональный
Общий рейтинг: 158.04
[Подробней >>]
ASMодей
Статус: Профессиональный
Общий рейтинг: 111.84
[Подробней >>]
 
Foamplast
Статус: Опытный
Общий рейтинг: 158.41
URL: мой личный сайт
[Подробней >>]
Hangatyr
Статус: Профессиональный
Общий рейтинг: 107.37
[Подробней >>]
Maverick
Статус: Профессиональный
Общий рейтинг: 119.19
URL: Эхоконференция по вирмейкингу
[Подробней >>]
 
Ayl
Статус: Профессиональный
Общий рейтинг: 116.63
[Подробней >>]
vitya
Статус: Профессиональный
Общий рейтинг: 108.93
[Подробней >>]


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

Вопрос № 5089. У меня такая проблема я уже и незнаю к каму обратится вы наверное последняя надежда! У нас с другом ... (ответов: 2)
Вопрос № 5091. Есть ли возможность сохранять данные в BIOS (CMOS) компьютера прикладной программой. Требуется запом... (ответов: 3)
Вопрос № 5092. Уважаемые эксперты , имею желание , но не имею возможности в смысле знаний не хватает, хотелось бы... (ответов: 1)
Вопрос № 5093. здасьти! если за каждый мой вопрос брать по рублю, скоро можно будет билли гатса купить :) а вопрос ... (ответов: 2)
Вопрос № 5094. Народ! Кто поможет решить проблему ? Имеется файл следующего содержания: .386 .model flat, stdcall o... (ответов: 2)
Вопрос № 5095. Привет всем, давно я здеся не был!!! вопрос прост но самому мне не допереть. КАК нарисовати круг нуж... (ответов: 4)
Вопрос № 5096. По долгу учебы у меня возникла потребность написать программу, которая ищет дубликаты заданного фа... (ответов: 1)
Вопрос № 5097. Здравствуйте. У меня такой вопрос.Подскажите, где найти информацию об графике для доса, а то в курсо... (ответов: 1)
Вопрос № 5098. Уважаемые эксперты! В каком случае функция recv возращает управление - если, например, надо получит... (ответов: 1)
Вопрос № 5099. Уважаемые эксперты, Как в ListView поменять цвет строки, LVM_SETTEXTCOLOR - меняет для всех строк, а... (ответов: 2)
Вопрос № 5100. Покажите, плиз, пример программки считывающей пароль введенный пользователем, сравнивающей его с пра... (ответов: 1)
Вопрос № 5102. Здравствуйте. Имеем исходник ДЛЛ: //dll.h #if defined BUILD_DLL # define IMPEXP __declspec(dllexpor... (ответов: 1)

Вопросов: 12, ответов: 21


 Вопрос № 5089

У меня такая проблема я уже и незнаю к каму обратится вы наверное последняя надежда! У нас с другом сеть на 2 компа длинна кабеля 80 метров сетевые карты eline вродебы и IP прописаны правельно и дажелампачки горят на сетевухах когда его комп включён а всеравно другдруга невидим да кабель обжат правельно и ещё в сетевом окружении значёк сети показывает что сеть всё время включена даже когда его комп выключен! Помогите пожалуйста чем сможете!



Вопрос отправлен: 15.03.2004, 03:34
Отправитель: Константин

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

Отвечает Bob Johnson

Добрый день, Константин !
Попробуй ping. Если ping не заработает, значит ошибка в настройках и/или кабеле.
Если заработает, то используй поиск компьютера.

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 17.03.2004, 16:11
Отправитель: Bob Johnson


Отвечает Pawel

Приветствую Вас, Константин !
Настройки пратокола проверь. Пинговать прорбовал?

Ответ отправлен: 16.03.2004, 19:55
Отправитель: Pawel


 Вопрос № 5091

Есть ли возможность сохранять данные в BIOS (CMOS) компьютера прикладной программой. Требуется запомнить 20 байт на компьютере без запоминающих устройств (Жёсткого и гибкого дисков). Программа грузиться с компакт диска в оперативную память. Есть ли ограничение на количество перепрограммировний БИОС? Заранее благодарен всем кто поможет в этом разобраться или подскажет направление поиска.



Вопрос отправлен: 15.03.2004, 14:41
Отправитель: Talisman

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

Отвечает ASMодей

Доброе время суток, Talisman!
Во-первых сразу определимся: перезапись BIOS и перезапись CMOS - это разные вещи. BIOS и CMOS содержатся в разных микросхемах и используют разные способы сохранения информации. Если BIOS находится в энергонезависимой памяти, то содержимое CMOS зависит от состояния аккумулятора на материнской плате.
Во-вторых: переписать CMOS можно, НО! память CMOS используется БИОСом для хранения своих настроек и, записав туда свои данные ты рискуешь повредить эти настройки и комп просто откажется загружаться (это конечно крайний случай, но контрольная сумма CMOS собьется точно, а на это разные БИОСы могут отреагировать по-разному). К тому же нельзя заранее сказать какие адреса CMOS используются БИОСом, а какие свободны, поэтому ты можешь только пробовать, но нет никаких гарантий, что если это заработает на твоем компьютере, то и на остальных тоже будет работать.


Ответ отправлен: 16.03.2004, 09:53
Отправитель: ASMодей


Отвечает Pawel

Добрый день, Talisman!
Зависит от конкретной версии биоса(RTFM).
Писать данные в CMOS можно, но есть опасность повредить системные данные.


Ответ отправлен: 16.03.2004, 19:59
Отправитель: Pawel


Отвечает Foamplast

Приветствую Вас, Talisman!
Возможность есть. Объём энергонезависимой памяти - от 64 до 128 байт в среднем. При этом 50 байт используются BIOS, так что смотри сам, как это использовать. Запись/чтение регистров происходит путём записи индекса регистра в порт 70h (где старший бит указывает на запрет прерывания NMI во время операции) и последуюущей операции записи/чтения порта 71h. Есть вообще-то и другие порты, но они различаются на разных платах.


Ответ отправлен: 19.03.2004, 08:53
Отправитель: Foamplast


 Вопрос № 5092

Уважаемые эксперты , имею желание , но не имею возможности в смысле знаний не хватает, хотелось бы понять принцип работы прокси серверов, копался по тому что нашел , выяснил что самый простой вид , это анонимный прокси сервер, так вот хотелось бы написать самому под Win32 на любимом ассемблере простенький пример , но не нашел подходящих туториалов на эту тему, может у кого есть яркий и живой пример , или дока по этому делу, поделитесь где можно найти....
P.S. Заранее благодарен.



Вопрос отправлен: 15.03.2004, 16:25
Отправитель: greg

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

Отвечает Foamplast

Добрый день, greg!
На самом деле всё проще: так как любой прокси-сервер это сервер, который не обрабатывает запросы, а пересылает их от своего имени другому серверу, то тебе достаточно найти исходники любого сервера и модифицировать их. Исходники web-сервера и прокси-сервера есть на wasm.ru в разделе "сети". Вчера качал.


Ответ отправлен: 19.03.2004, 08:53
Отправитель: Foamplast


 Вопрос № 5093

здасьти!
если за каждый мой вопрос брать по рублю, скоро можно будет билли гатса купить :)
а вопрос вот какой: поставил я себе Win XP pro, и IDA (тоже про :)), и попытался открыть файл, а он мне пишет мол не могу создать ida020130.tmp файл, главное в пути написаны всякие каракули, а не путь к файлу, что делать?
я думал может в каком файле конфигурации есть путь ко временному катологу, но так и не нашел, мож я не тем местом смотрел или тут в другом проблема?
тока не скажите, что 9хэ ставить :)
з.ы.
хотел разместить благодарность Foamplast'у, а там еще регестрироваться надо, я так скажу: "Спасибо! класно обьясняешь!"
з.з.ы.
да и все остальным тоже спасибо...



Вопрос отправлен: 16.03.2004, 14:38
Отправитель: очень хочу научиться

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

Отвечает Pawel

Доброе время суток, очень хочу научиться!
Место на винте есть???
Права на папку темп нормальные стоят??
Панель управления=>Система=>Дополнительно=>Переменные среды


Ответ отправлен: 16.03.2004, 20:12
Отправитель: Pawel


Отвечает Foamplast

Добрый день, очень хочу научиться!
Повторить ситуацию не могу (стоит W2000), при этом судя по имени файла могу предположить, что получено оно с помощью функции WinAPI GetTempFileName(), поэтому либо ищи тщательнее в файлах и реестре параметр конфигурации, либо у этого IDA какие-то внутренние проблемы, тогда ищи другой IDA. Ещё можно посмотреть, как в системе задан временный путь и какие права установлены на соответствующий каталог. Может просто у того, кто запускает IDA нет прав записи? А каракули могут быть следствием наличия русских букв в пути в сочетанни с кривостью рук авторов.


Ответ отправлен: 19.03.2004, 08:52
Отправитель: Foamplast


 Вопрос № 5094

Народ!
Кто поможет решить проблему ?
Имеется файл следующего содержания:
.386
.model flat, stdcall
option casemap :none
.code
start:
pushad
mov ecx, [esp+20h]
xor cx, cx
@@:
cmp word ptr [ecx], "ZM"
jz @F
dec ecx
jmp @B
@@:
mov edx, [ecx+3Ch]
lea edx, [edx+ecx+78h]
mov edx, [edx]
add edx, ecx ; ecx указатель на адрес загрузки библиотеки, edx-таблица экспорта
mov di, 0AA7Bh ; контрольная сумма имени функции
; call find_function
end start
и файл make.bat:
if not exist %1.rc goto over1
binRc.exe /fores.res %1.rc
binCvtres.exe /machine:ix86 res.res
:over1
if exist %1.exe del %1.exe
binMl.exe /c /coff %1.asm
if errorlevel 1 goto TheEnd
if not exist res.obj goto nores
binLink.exe /SUBSYSTEM:WINDOWS %1.obj res.obj
goto TheEnd
:nores
binLink.exe /SUBSYSTEM:WINDOWS %1.obj
:TheEnd
if exist *.obj del *.obj
if exist *.res del *.res
Так вот. Компиляция проходит без проблем, зато, когда пытаюсь оттрассировать в win2000 SP4 или winXP sp1 при помощи wdasm10 или SoftIce ( 4.27 под 2000, 4.05 под XP ), то wdasm10 даже не может загрузить файл в память, вываливаясь с ошибкой чтения-записи в страницу памяти. SI проскакивает точку входа, даже если я первый байт меняю на int3 и включаю опцию i3here.
Зато под win98 все проходит "на ура".
Заранее благодарю за любую помощь
Илья
mis421@list.ru



Вопрос отправлен: 16.03.2004, 14:41
Отправитель: Ilya

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

Отвечает Hangatyr

Доброе время суток, Ilya!
Странно, но у меня на аналогичных системах (2000, XP sp1) SoftIce (v. 4.3.0), wdasm, Ollydbg загрузили файл безо всяких ошибок. Если сильно нужно разобраться, то скинь откомпилированный файл мне на личку (hangatyr@centrum.cz).

Ответ отправлен: 17.03.2004, 14:52
Отправитель: Hangatyr


Отвечает Maverick

Здравствуйте, Ilya!
Попробуй имортировать какую нибудь ф-ию, любую...
Например для TASM
extrn ExitProcess:proc

Ответ отправлен: 20.03.2004, 11:14
Отправитель: Maverick


 Вопрос № 5095

Привет всем, давно я здеся не был!!!
вопрос прост но самому мне не допереть.
КАК нарисовати круг нужного диаметра цвета и т.д.
хорошо бы примерчик.
Зарание спосибо.



Вопрос отправлен: 18.03.2004, 01:38
Отправитель: cas (cas@mail.com)

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

Отвечает Ayl

Доброе время суток, cas!
По точкам. А как еще? Можешь поискать алгоритм Брезенхема для построения эллипса и использовать его.


Ответ отправлен: 18.03.2004, 11:29
Отправитель: Ayl


Отвечает Bob Johnson

Добрый день, cas!
Нарисовать - функция Ellipse. Выбрать цвет, - brush (CreateSolidBrush), и т.д.

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 18.03.2004, 11:38
Отправитель: Bob Johnson


Отвечает Pawel

Доброе время суток, cas!
По точкам, используя уравнение окружности.(sqr(x)+sqr(y)=sqrt(R))

Ответ отправлен: 18.03.2004, 16:21
Отправитель: Pawel


Отвечает Foamplast

Доброе время суток, cas!
Нарисовать круг (как частный случай эллипса) можно с помощью функции Ellipse(). Она рисует вписанный в прямоугольник эллипс, заполняя текущей кистью и обводя контур текущим пером. Принимает 5 параметров: handle контекста устройства, абсциссу верхнего левого угла, ординату верхнего левого угла, абсциссу нижнего правого угла, ординату нижнего правого угла. Вызывать эту функцию (как и все рисовательные функции) лучше в ответ на сообщение WM_PAINT. Получить handle контекста устройства можно с помощью GetDC() или BeginPaint(), а вернуть - с помощью ReleaseDC() или EndPaint() соответственно. Кисть и перо нужно выбрать перед вызовом Ellipse() (после вызова BeginPaint()) c помощью функции SelectObject(). Число, полученное в результате вызова SelectObject() надо запоминать и по завершении рисования вызывать SelectObject() от этого же числа (до вызова EndPaint()).


Ответ отправлен: 19.03.2004, 08:52
Отправитель: Foamplast


 Вопрос № 5096

По долгу учебы у меня возникла потребность написать программу, которая ищет дубликаты заданного файла на жестком диске. Конечно нужно учесть возможность поиска
абсолютно идентичных файлов, или только с одинаковым названием, или с одинаковым названием и расширением и т.д. и т.п.
Ассемблер я начал изучать где-то месяц назад, а такое задание я еще сам не в силах решить. Может кто-нибудь уже занимался этим вопросом, или чем-то в этом роде? Напишите, если не сложно как все это можно реализовать, а за исходники буду благодарен до гроба.
Заранее спасибо всем, кто откликнется.



Вопрос отправлен: 18.03.2004, 14:42
Отправитель: tima

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

Отвечает Pawel

Добрый день, tima!
Под dos или под Win?
Если dos то смотри приложение с описанием функций для int21h

Приложение:

Ответ отправлен: 18.03.2004, 16:17
Отправитель: Pawel


 Вопрос № 5097

Здравствуйте.
У меня такой вопрос.Подскажите, где найти информацию
об графике для доса, а то в курсовом необходимо реализовать
отображение граф. примитивов (окружность, линия, треугольник
и т.д.) на ассемблере.Тема курсового граф. редактор.Интер-
фейс на Си я то реализую, а вот с графикой на Ассемблере
проблемы.Поделитесь, кто чем может...Большое спасибо!



Вопрос отправлен: 19.03.2004, 00:24
Отправитель: foxler (foxler@mail.ru)

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

Отвечает ASMодей

Доброе время суток, foxler!
Алгоритмы есть здесь: ermak.cs.nstu.ru/kg_rivs/kg02.htm
А рисовать придется напрямую в видеопамять.

Ответ отправлен: 19.03.2004, 10:47
Отправитель: ASMодей


 Вопрос № 5098

Уважаемые эксперты! В каком случае функция recv возращает управление - если, например, надо получить заголовок письма на mail.ru, я пишу:
invoke recv, hSocket110, esi, 1000, 0
функция возращает 6 байт в ответе сервера ("+OK",32,13,10),
если поставить задержку 2 сек, то функция вернёт весь заголовок (хотя он и меньше 1000 байт)
Так как же работает эта функция?



Вопрос отправлен: 19.03.2004, 10:35
Отправитель: Alex

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

Отвечает Foamplast

Здравствуйте, Alex!
Возвращает данные, которые уже есть в буфере. А вот если их нет, она не возвращает управление до тех пор, пока они не поступят, но если ожидание длится больше указанного периода, то функция возвращается с ошибкой тайм-аута.


Ответ отправлен: 23.03.2004, 08:40
Отправитель: Foamplast


 Вопрос № 5099

Уважаемые эксперты, Как в ListView поменять цвет строки, LVM_SETTEXTCOLOR - меняет для всех строк, а мне надо для нескольких.



Вопрос отправлен: 19.03.2004, 14:33
Отправитель: Andrei

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

Отвечает vitya

Добрый день, Andrei!
Надо переопределить функцию обработки и переехать сообщение WM_PAINT. И там рисовать.

Ответ отправлен: 19.03.2004, 14:44
Отправитель: vitya


Отвечает Foamplast

Приветствую Вас, Andrei!
Недавно писал такую же программу.
1. При создании LIstView указываешь ему стиль LVS_OWNERDRAWFIXED.
2. В родительском по отношению к данному ListView окне обрабатываешь сообщение WM_DRAWITEM. У этого сообщения lParam - указатель на структуру DRAWITEMSTRUCT, содержащую идентификатор элемента, его handle, контекст рисования и др.
Ну и рисуешь, стало быть, указанный элемент. В общем, ListView шлёт WM_DRAWITEM для каждого элемента, который нужно нарисовать.
Нужен исходник - пиши на foamplast@hexx.ru

Ответ отправлен: 23.03.2004, 08:47
Отправитель: Foamplast


 Вопрос № 5100

Покажите, плиз, пример программки считывающей пароль введенный пользователем, сравнивающей его с правильным и затем выводящей соответственно OK или Error. Если можно исходник с комментами (под DOS).
Спасибо.



Вопрос отправлен: 20.03.2004, 14:07
Отправитель: Durashka (ebooks@bk.ru)

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

Отвечает Ayl

Приветствую Вас, Durashka!


Приложение:

Ответ отправлен: 21.03.2004, 14:16
Отправитель: Ayl


 Вопрос № 5102

Здравствуйте.
Имеем исходник ДЛЛ:
//dll.h
#if defined BUILD_DLL
# define IMPEXP __declspec(dllexport)
#else
# define IMPEXP __declspec(dllimport)
#endif
class A
{
void Func();
IMPEXP void FuncE();
};
//dll.cpp
#define BUILD_DLL
#include "dll.h"
void Func()
{
...
}
void FuncE()
{
...
}
void main()
{
...
}
Имеем исходник другой проги
//proga.cpp
#include "dll.h"
main()
{
A a;
a.Func();
a.FuncE();
}
Так вот, линкер не может разрешить ссылку на a.FuncE();
Это я могу понять. То есть функции не экспортируются (не попадают в библиотеку импорта), если не указать явно. Однако, в заголовочных файлах, поставляемых с VC я не нашёл указаний на импорт (__declspec(dllimport)) функций классов. Чего я не понял?
Спасибо.



Вопрос отправлен: 21.03.2004, 13:42
Отправитель: ПАПА (rezervx@ezmail.ru)

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

Отвечает vitya

Здравствуйте, ПАПА!
Сам класс так же надо экспортировать.

Ответ отправлен: 22.03.2004, 08:32
Отправитель: vitya



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

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (25)
C / C++ (16)
Perl (4)
Builder / Delphi (20)
Pascal (22)
Basic / VBA (6)
Java / JavaScript (7)
PHP (14)
Криптография (8)
WinAPI (14)
Радиоэлектроника (9)
Пользователю
Windows 95/98/Me (43)
Windows NT/2000/XP (56)
"Железо" (33)
Поиск информации (21)
Администратору
Windows NT/2000/XP (28)
Linux / Unix (14)
Юристу
Гражданское право (14)
Семейное право (13)
Трудовое право (13)
КоАП (10)

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




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2004 Россия, Москва. Авторское право: Калашников О.А.


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


В избранное