Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
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.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту 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.
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||