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

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


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

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

Выпуск № 709
от 30.03.2004, 10:41

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


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

Bob Johnson
Статус: Профессиональный
Общий рейтинг: 142.54
URL: Программирование
[Подробней >>]
Artemy
Статус: Опытный
Общий рейтинг: 113.14
Телефон: 8 905 549 38 66
[Подробней >>]
Ayl
Статус: Профессиональный
Общий рейтинг: 116.58
[Подробней >>]
 
Portnov
Статус: Профессиональный
Общий рейтинг: 106.21
URL: Мой сайтик...
[Подробней >>]
Pawel
Статус: Профессиональный
Общий рейтинг: 158.73
[Подробней >>]
Евгений Иванов
Статус: Профессиональный
Общий рейтинг: 133.29
URL: Super Assembler Software
Телефон: Пчёлка +7 905 6601206
[Подробней >>]
 
SedHg
Статус: Опытный
Общий рейтинг: 111.85
[Подробней >>]
St
Статус: Профессиональный
Общий рейтинг: 105.3
[Подробней >>]
ZagSer168
Статус: Начальный
Общий рейтинг: 106.77
[Подробней >>]
 
Foamplast
Статус: Опытный
Общий рейтинг: 156.76
URL: мой личный сайт
[Подробней >>]


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

Вопрос № 5103. Уважаемые эксперрты у меня такой вопрос. Я написал программу которая переходит на нулевой уровень пр... (ответов: 1)
Вопрос № 5104. Привет народ. Я тут самообучаясь написал такую штук. Вообще она должна делать следуещее передвигать... (ответов: 3)
Вопрос № 5105. Где скачать хороший IDA?... (ответов: 1)
Вопрос № 5106. Здравствуйте, Господа. Подскажите идею решения следующей задачи. Дана фотография, на ней нужно найти... (ответов: 2)
Вопрос № 5107. Здравствуйте. Я сейчас мучаюсь с оболочкой как в рассылке, но пытаюсь сделать ее двухпанельной. Воп... (ответов: 2)
Вопрос № 5108. здрасьти Мне вот тут делать нечего было, и я решил полазить по каталогам в MASM32 и там в примерах у... (ответов: 3)
Вопрос № 5109. Подскажите плиз, как сделать автозагрузку моей проге (програмно!), и как узнать путь где лежит моя п... (ответов: 3)
Вопрос № 5110. ===================asm============================= .386 .model flat extrn MessageBoxA:proc extrn Ex... (ответов: 6)
Вопрос № 5111. Люди! Граждане! Братья! Горю синим пламенем. Очень нужны исходники для ping'а портов на асме под Win... (ответов: 1)
Вопрос № 5113. Конечно, вопрос не по теме вообще, но больше не знаю куда обратиться... Подскажите где найти инфу об... (ответов: 2)
Вопрос № 5114. Уважаемые эксперты подскажите пожалуйста как можно получить температурные режимы платы,рабочие напре... (ответов: 3)

Вопросов: 11, ответов: 27


 Вопрос № 5103

Уважаемые эксперрты у меня такой вопрос. Я написал программу которая переходит на нулевой уровень привелегий в Win9x с помошью вы модификации idt. Все VxD сервисы вызываются нормально при попытки вызова любой API - фунцкии с нулевого кольца привелегий происходит ошибка синий экран и т.д . Вызываю так же как на третьем уровне привилегий. (Там все работает). Вроде пределы сегментов не изменились (так и остались 4 гига с нулевого адреса начинаются).
Не могу понять в чём причина. Или нужно обязатель но переходить на третий уронень. Скажем через Call Gate.
И ещё такой вопрос написал программу которая переходит в защищёный режим и реализовывает многозадачность.
Я написал виртуальную задачу виртуальную задачу третьего уровня привилегий.В маске портов я разрешил использавать все порты (установил нули в маске битов), но к вызвать у меня получилось и прерываний только функцию 0eh прерывывания 10h (вывод символа на экран)
и только если если виртуальная задача выполняется на третьем уровне привилегий. При установке нулевого работать перестаёт. Так же не получается вызвать и какую либо фунцию DOS. В приложении обработчик прерываний виртуального режима.
Структуры для работы со стеком я не стал посылать но они правильные так как одно то прерывание вызывается.
Может кто встречался с такой проблемой. Буду рад любому совету.


Приложение:


Вопрос отправлен: 22.03.2004, 08:13
Отправитель: LandFox (landfox@gorodok.net)

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

Отвечает Bob Johnson

Доброе время суток, LandFox!
1. Из 0-го кольца вызывать API функции нельзя, надо обязательно переходить в третий.

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


Ответ отправлен: 24.03.2004, 10:20
Отправитель: Bob Johnson


 Вопрос № 5104

Привет народ. Я тут самообучаясь написал такую штук. Вообще она должна делать следуещее передвигать точку между клетками путем нажатия стрелок, esc-выход. Как сделать обновление экрана менее заметным.


Приложение:


Вопрос отправлен: 23.03.2004, 01:05
Отправитель: cas (cas@mail333.com)

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

Отвечает Artemy

Добрый день, cas!
Перерисовывай не всю сетку, а только ту часть, которая изменилась. То же касается и установки фона.


Ответ отправлен: 23.03.2004, 15:27
Отправитель: Artemy


Отвечает Ayl

Здравствуйте, cas!
1. Тебе не нужно каждый раз вызывать перерисовку экрана. Достаточно просто удалять точку (восстанавливая линии сетки) и рисовать точку заново на новом месте.

2. Рисование по точкам достаточно медленная операция. Попробуй линии рисовать по нескольким точкам (режим 12h позволяет одновременно установить до 8 точек одного цвета), причем, т.к. линии у тебя только горизонтальные и вертикальные, то не нужно каждый раз вычислять адрес видеопамяти по координатам. Для горизонтальных линий адрес следующих 8-ми точек равен текущему + 1, а для вертикальных - текущий + 80h. Причем, для горизонтальных линий для быстрого заполнения ты можешь использовать команду movs.


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


Отвечает Bob Johnson

Добрый день, cas!
Вообще же, ты можешь:
1. Удалять только одну точку в ее предыдущем положении и рисовать новую в новом (для этого можно кстати использовать xor).
2. Использовать буфер в памяти для того, чтобы рисовать изображение туда, а потом просто копировать на экран. Тогда никакого мигания не будет. Этот способ применяется в программах, где изменения экрана значительны.

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


Ответ отправлен: 24.03.2004, 10:20
Отправитель: Bob Johnson


 Вопрос № 5105

Где скачать хороший IDA?



Вопрос отправлен: 23.03.2004, 08:56
Отправитель: Дмитрий

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

Отвечает Portnov

Доброе время суток, Дмитрий!
ftp.exetools.com. Чтобы зайти, нужен пароль, его можно узнать, зарегистрировавшись на форуме www.exetools.com/forum, (или forums?) и зайдя в раздел Announcements and News. Кроме Иды, на этом ФТП можно взять еще много чего хорошего - сайс, ДДК для разных версий винды, также около месяца после выпуска там всегда лежит последняя версия MSDN.
С уважением, Portnov.

Ответ отправлен: 24.03.2004, 18:32
Отправитель: Portnov


 Вопрос № 5106

Здравствуйте, Господа.
Подскажите идею решения следующей задачи.
Дана фотография, на ней нужно найти и выделить лицо человека.
Какую литературу посоветуете?



Вопрос отправлен: 24.03.2004, 10:29
Отправитель: a111 (a111_666@mail.ru)

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

Отвечает Pawel

Здравствуйте, a111!
Нужно испать на фото области цвета кожи(это стандартный способ), но многое зависет от задачи. Если фото произвольное(любой маштаб, любое кол-во людей, и т.п.)то задача почти не решаема.Если езвестно примерное положение лидца, то можно уже коректировать граници по цвету пикселей.

Ответ отправлен: 24.03.2004, 22:37
Отправитель: Pawel


Отвечает Евгений Иванов

Добрый день, a111!
Зубков "Ассемблер".
* EMan: -=- Любовь существует! =-=


Ответ отправлен: 26.03.2004, 12:27
Отправитель: Евгений Иванов


 Вопрос № 5107

Здравствуйте.
Я сейчас мучаюсь с оболочкой как в рассылке, но пытаюсь сделать ее двухпанельной.
Вопрос такой:
1.Когдя я копирую нулевую видео страницу на первую, в отладчике копируемая информация появляется поверх самого отладчика! (бковки и т.д.) Получается, отладчик использует первую видеостраницу вместо нулевой?
2. Когда я передаю через стек параметры для функции (цвет, ширина, высота и т.д.), то в отладчике вижу другое:
на этапе PUSHей, цвет передается другой (я пишу PUSH 1f00,
а в отладчике заносится в стек 0c00 - вроде так).
Всем спасибо.



Вопрос отправлен: 24.03.2004, 13:43
Отправитель: Xander

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

Отвечает Pawel

Доброе время суток, Xander!
1) Так почти у всех отладчиков, так проще.
2) Всё должно отображаться нормально.

Ответ отправлен: 24.03.2004, 22:39
Отправитель: Pawel


Отвечает Portnov

Здравствуйте, Xander!
1. А это нормально - вы ведь обычно-то выводите все на нулевую страницу. Поэтому создатели отладчика решили самих себя не мучать запоминанием содержимого экрана "где-нибудь" (чтобы вам его потом показать по Alt-F5), а просто работать на первой странице. Ну и вы решили то же самое, видимо... Такой вот конфликт интересов. Возможное решение - попробуйте сделать так, чтобы ваша оболочка работала, напр., со второй страницей, если таковая доступна в вашем видеорежиме.
2. А вы уверены, что на тот конец стека смотрите? В TD "верхний" конец стрека (на который кладем и с которого снимаем) находится снизу.
С уважением, Portnov.

Ответ отправлен: 24.03.2004, 18:52
Отправитель: Portnov


 Вопрос № 5108

здрасьти
Мне вот тут делать нечего было, и я решил полазить по каталогам в MASM32 и там в примерах увидел вот такую фигню:
короче всякие там инклуйды и прочая мура, а в секци .code
вот такаое
start:
print "Hello world"
end start
и все работает, это что такое? единственное предположение макрос какой-то?
и еще там много всякого интересного в помощи написано, но все на буржуйском, а есть это все на "великом и могучем" где-нибудь?...
заранее спасибо



Вопрос отправлен: 25.03.2004, 10:03
Отправитель: очень хочу научиться

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

Отвечает SedHg

Добрый день, очень хочу научиться
У тебя какой MASM? Если хатчевский тогда действительно там много хороших примеров. А вот перевода хелпа, насколько мне известно, не существует :-(.


Ответ отправлен: 25.03.2004, 14:35
Отправитель: SedHg


Отвечает Евгений Иванов

Здравствуйте, очень хочу научиться!
Это макрос, конечно.
* EMan: -=- Любовь существует! =-=


Ответ отправлен: 26.03.2004, 12:28
Отправитель: Евгений Иванов


Отвечает Pawel

Доброе время суток, очень хочу научиться!
print - это макрос.
Для MASM32 перевода хелпа я не видел, разве что Win32asm tutorial.chm

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


 Вопрос № 5109

Подскажите плиз, как сделать автозагрузку моей проге (програмно!), и как узнать путь где лежит моя прога???
помогите...



Вопрос отправлен: 25.03.2004, 14:53
Отправитель: Agny (agny@mail.ru)

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

Отвечает Artemy

Приветствую Вас, Agny!
1.
Пиши свою программу в реестр HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun
или
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnce
или
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunService
2.
API функция GetModuleFileName вернет имя файла и путь к нему.


Ответ отправлен: 25.03.2004, 15:31
Отправитель: Artemy


Отвечает Евгений Иванов

Доброе время суток, Agny!
Прописать её в MBR.
* EMan: -=- Любовь существует! =-=


Ответ отправлен: 26.03.2004, 12:34
Отправитель: Евгений Иванов


Отвечает Pawel

Здравствуйте, Agny!
Для какой OS???
В win пиши в реестр
KEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun
В дос можно на нуль дорожку

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


 Вопрос № 5110

===================asm=============================
.386
.model flat
extrn MessageBoxA:proc
extrn ExitProcess:proc
.data
mb_text db 'Hello, World!',0
mb_caption db 'My first program',0
.code
start:
push 0
push offset mb_caption
push offset mb_text
push 0
call MessageBoxA
push 0
call ExitProcess
ends
end start
===================/asm============================
Я пытаюсь попробовать сделать что-нибудь на ассемблере для Win32.
Например, програмка наверху (пример из учебника). Я использую TASM. Tlink32 мне пишет, типа
"unresolved external 'MESSAGEBOXA' referenced from module ...
unresolved external 'EXITPROCESS' referenced from module ...".
Я знаю, что эти функции из Kernel32.dll и user32.dll.
Что мне делать?



Вопрос отправлен: 25.03.2004, 15:37
Отправитель: soup

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

Отвечает Artemy

Добрый день, soup!
Если у тебя ТАСМ, то наверняка где-то (обычно в папке Lib) есть файл import32.lib
Попробуй написать...
includelib [Путь]import32.lib
и при описании функции пиши...
EXTERN MessageBoxA:NEAR


Ответ отправлен: 25.03.2004, 17:00
Отправитель: Artemy


Отвечает SedHg

Здравствуйте, soup!
Выбор того или иного ассемблера дела вкуса. По моему мнению,
TASM не самый удобный ассемблер для Виндов. Я лично использую
MASM32, да не простой, а Hutch'евский. Он особенно полезен для начинающих
кодеров, т.к. в его состав входит большое количество примеров с исходными
текстами, в том числе примеры из туториалов Iczelion'а. Для примера я напишу
исходник твоей программы на MASM'e.
#######################################################
.386
.model flat,stdcall
option casemap:none
include masm32includewindows.inc
include masm32includekernel32.inc
includelib masm32libkernel32.lib
include masm32includeuser32.inc
includelib masm32libuser32.lib
.data
MsgBoxCaption db "My first program",0
MsgBoxText db "Hello, World!",0
.code
start:
invoke MessageBox, NULL, addr MsgBoxText, addr MsgBoxCaption, MB_OK
invoke ExitProcess, NULL
end start
########################################################
Hutch'евский MASM можно взять на WASM.RU


Ответ отправлен: 25.03.2004, 20:24
Отправитель: SedHg


Отвечает Евгений Иванов

Здравствуйте, soup!
Надо использовать __imp_.
* EMan: -=- Любовь существует! =-=


Ответ отправлен: 26.03.2004, 12:34
Отправитель: Евгений Иванов


Отвечает St

Привет, soup!
Вы наверное не указали LIB-библиотеки для TLINK, что-то вроде
tlink32 -Tpe -aa -s -c -v -V4.0 st_read.obj,st_read,, import32, st_read.def
(import32.lib при такой команде должна быть в том же каталоге что и программа).
St

Ответ отправлен: 26.03.2004, 17:31
Отправитель: St


Отвечает Pawel

Приветствую Вас, soup!
Нужно указать путь к библиотеке
include FILE_NAME.inc(lib)

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


Отвечает ZagSer168

Добрый день, soup!
Вставь строку:
includelib import32.lib
перед extrn MessageBoxA:proc
extrn ExitProcess:proc


Ответ отправлен: 27.03.2004, 00:25
Отправитель: ZagSer168


 Вопрос № 5111

Люди! Граждане! Братья!
Горю синим пламенем.
Очень нужны исходники для ping'а портов на асме под Win32.
Поможите! Никак не могу найти. Все что есть кидайте на мыло.
Можно линки на статьи.
Заранее огромное спасибо всем.
С уважением, Алексей.



Вопрос отправлен: 25.03.2004, 15:36
Отправитель: Fess (lomovskih@yandex.ru)

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

Отвечает Pawel

Приветствую Вас, Fess!
Смотри мыло, но исходник на FASM.

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


 Вопрос № 5113

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



Вопрос отправлен: 26.03.2004, 00:31
Отправитель: Стас

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

Отвечает Евгений Иванов

Добрый день, Стас!
http://www.ya.ru/
* EMan: -=- Любовь существует! =-=


Ответ отправлен: 26.03.2004, 12:35
Отправитель: Евгений Иванов


Отвечает Foamplast

Здравствуйте, Стас!
Про арифметику что-то похожее видел в книге "Искусство программирования", автор Дональд Э. Кнут.


Ответ отправлен: 29.03.2004, 19:11
Отправитель: Foamplast


 Вопрос № 5114

Уважаемые эксперты подскажите пожалуйста как можно получить температурные режимы платы,рабочие напрежения.
Гдеможно найти литературу на такую тему!?



Вопрос отправлен: 26.03.2004, 09:41
Отправитель: Vlad

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

Отвечает Евгений Иванов

Здравствуйте, Vlad!
Порт 290h
* EMan: -=- Любовь существует! =-=


Ответ отправлен: 26.03.2004, 12:36
Отправитель: Евгений Иванов


Отвечает Pawel

Приветствую Вас, Vlad!
Смотри доку по BIOS, лучше по своему. Вроде на старыж платах жто в портах 285-290h.

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


Отвечает Foamplast

Добрый день, Vlad!
А тебе откуда нужно узнать? Под Windows есть "Инструментарий управления Windows". Он содержит
класс Win32_TemperatureProbe. Его можно даже из сценариев использовать. Я думаю, можно про это
подробнее прочитать и использовать на асме, вызывая методы COM-объектов.


Ответ отправлен: 29.03.2004, 19:11
Отправитель: Foamplast



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

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

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

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (26)
C / C++ (16)
Perl (4)
Builder / Delphi (18)
Pascal (22)
Basic / VBA (4)
Java / JavaScript (6)
PHP (11)
Криптография (6)
WinAPI (14)
Радиоэлектроника (10)
Пользователю
Windows 95/98/Me (39)
Windows NT/2000/XP (52)
"Железо" (31)
Поиск информации (19)
Администратору
Windows NT/2000/XP (26)
Linux / Unix (11)
Юристу
Гражданское право (11)
Семейное право (10)
Трудовое право (11)
КоАП (8)

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




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


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


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


В избранное