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

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


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

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

Выпуск № 781
от 25.11.2004, 22:20

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


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

Evils_Interrupt
Статус: Доверительный
Общий рейтинг: 119.44
[Подробней >>]
DSota
Статус: Опытный
Общий рейтинг: 122.88
[Подробней >>]
andre
Статус: Опытный
Общий рейтинг: 115.97
URL: мой сайт правда старый не обновлял давно надо бы заняться да руки не доходя
Телефон: 972544517423
[Подробней >>]
 
Василевский Александр
Статус: Опытный
Общий рейтинг: 114.62
[Подробней >>]
Евгений Иванов
Статус: Профессиональный
Общий рейтинг: 132.09
URL: Super Assembler Software
Телефон: НСС +7 920 2972610
[Подробней >>]
St
Статус: Профессиональный
Общий рейтинг: 104.6
[Подробней >>]
 
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 132.45
URL: Программирование
[Подробней >>]
Gibbel
Статус: Профессиональный
Общий рейтинг: 104.29
URL: Savage Metal Club - жизнь в стиле рок-н-ролл
Телефон: +7 901 710 3146
[Подробней >>]
Ayl
Статус: Профессиональный
Общий рейтинг: 116.03
[Подробней >>]
 
Dark_Lord
Статус: Профессиональный
Общий рейтинг: 109.06
[Подробней >>]
Стас
Статус: Профессиональный
Общий рейтинг: 122.78
[Подробней >>]
_vt
Статус: Профессиональный
Общий рейтинг: 118.66
[Подробней >>]


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

Вопрос № 5979. Здравстуйте уважаемые эксперты ! Помогите пожалуйста написать такую программу: вывести дамп памяти начиная с указанного адреса в шестнадцатиричном коде на экран блоками (16 строк по 16 столбцов). И как и где исправить, чтобы выводилось в двоичном, д... (ответов: 1)
Вопрос № 5980. Доброго всем. Почему не работает смещение по x???Спасибо... (ответов: 1)
Вопрос № 5982. Мне нужна информация по FPU (раньше я с ним не работал). Где бы ее взять?... (ответов: 1)
Вопрос № 5983. Здравствуйте! Скажите, пожалуйста, что значит символ \'@\' перед метками?... (ответов: 5)
Вопрос № 5985. Ув. эксперты! Как можно получить адрес запущенной программы? Другими словами: программа "A" по адресам DS:XXXXXXXX и DS:YYYYYYYY хранит некие данные. Хотелось бы достать их при помощи MessageBox программы "B".... (ответов: 1)
Вопрос № 5986. Уважаемые эксперты! При завершении работы WinXP работа программы прерывается в любом месте, хотя у меня стоит проверка на получение окном сообщения о выходе, а после - сохранение результатов в файл. Как же сохранить результаты при выходе или перезагр... (ответов: 1)
Вопрос № 5987. Здравствуйте, уважаемые эксперты! Написал программу из первого примера книги Калашникова О.А. "Ассемлер..." Писал в блокноте. Сассемблировалось все нормально,без ошибок,получил сом-файл (всё как учили).Скажите пожалуйста почему вместо... (ответов: 4)
Вопрос № 5988. Отвечает DSota Доброе время суток, Артем! Навскидку скажу (т.к. текст именно твоей программы не видел).Тут 2 варианта: 1. Ты забыл поставить знак доллара после своего сообщения (он обозначает конец сообщения и нужен обязательно) 2. Сообщение набрано ... (ответов: 1)
Вопрос № 5989. Уважаемые эксперты! Я уже немного знаю ассемблер, и решил сделать что-нибудь посерьезнее, чем hello_world. Взял с algolist’а алгоритм генерации пламени, написал под Win32 «так чтобы работало» (после чего хотел попытаться оптимизировать, и возможно ис... (ответов: 3)
Вопрос № 5990. Срочно нужна прога на ассемблере, которая выводит точку(x,y,color) на экран с большой скоростью в графическом режиме 640x480(16 цветов) c использованием видиопамяти, что б можно было рисовать фигуры точками. Обращатся на: e-mail: mnenepofig.rambler.r... (ответов: 2)
Вопрос № 5991. Здравствуйте, Эксперты! Помогите кто чем сможет. Стоит такая задача: написать резидентный драйвер клавиатуры (хотя бы только часть, которая бы обрабатывала функциональные клавиши и Alt, Ctrl, Shift, а результаты нажатия записывала бы в файл). ... (ответов: 4)
Вопрос № 5992. Привет. Как отследить(hook) если комп подключен к интернету?, т.е. когда пользователь подключается к инету - идет вызов моей hook-функции. Заранее спасибо.... (ответов: 1)

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


 Вопрос № 5979

Здравстуйте уважаемые эксперты !
Помогите пожалуйста написать такую программу:
вывести дамп памяти начиная с указанного адреса
в шестнадцатиричном коде на экран блоками (16 строк по 16 столбцов).
И как и где исправить, чтобы выводилось в двоичном, десятичном и
восьмиричном коде. Сам что-то никак не допру :(
Надо чтоб работало на tasm или masm версии 2.0 и выше
Заранее большое спасибо.



Вопрос отправлен: 15.11.2004, 21:55
Отправитель: Радик (rdk78@nightmail.ru)

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

Отвечает Evils_Interrupt

Добрый день, Радик!
во первых представить число в той СС которой собираешься далее есно дело разбил на группы и предствил ввиде аски кодов. ССЫлка на Кип Ирвинга там эти действия разжеваны, для 10й СС и хексов

Ответ отправлен: 16.11.2004, 09:37
Отправитель: Evils_Interrupt


 Вопрос № 5980

Доброго всем. Почему не работает смещение по x???Спасибо


Приложение:


Вопрос отправлен: 16.11.2004, 06:59
Отправитель: Oleg_S

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

Отвечает DSota

Доброе время суток, Oleg_S!
Тут 2 неточности:
1. Убери 10,13 перед "Hello world"... А то получается - курсор перешел на нужные координаты и сразу же переходит в начало следующей строки (ответ на твой вопрос)...
2. После sahf (сам sahf можно опустить) можно поставить на всякий случай "mov bh,0" - номер экранаа для вывода (именно здесь это не нужно, но в других местах надпись может потеряться).


Ответ отправлен: 16.11.2004, 08:04
Отправитель: DSota


 Вопрос № 5982

Мне нужна информация по FPU (раньше я с ним не работал).
Где бы ее взять?



Вопрос отправлен: 16.11.2004, 22:02
Отправитель: Serega

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

Отвечает DSota

Доброе время суток, Serega!
1. TechHelp
2. http://www.tesis.infotecstt.ru/docs/intel.486/html/ch15.htm
3. http://avtom.fet.mrsu.ru/prog_asm/theory/part23.html
4. http://e-dok.narod.ru/msdos/book/gl10-01.html
5. http://html-doc-txt.nm.ru/asm/assembler/asm16.htm

Ответ отправлен: 17.11.2004, 10:24
Отправитель: DSota


 Вопрос № 5983

Здравствуйте!
Скажите, пожалуйста, что значит символ \'@\' перед метками?


Приложение:


Вопрос отправлен: 17.11.2004, 16:57
Отправитель: UKY

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

Отвечает DSota

Доброе время суток, UKY!
Это такая же буква, как и любая другая, и ее можно использовать в именах.

Ответ отправлен: 17.11.2004, 20:03
Отправитель: DSota


Отвечает andre

Добрый день, UKY!
в принципе ничего особенного воспринимай ее как букву просто так пишут чтобы видеть эти лэйбэлы

Ответ отправлен: 17.11.2004, 17:07
Отправитель: andre


Отвечает Василевский Александр

Приветствую Вас, UKY!
Символ @ для компилятора ничего не значит. Для программиста этот символ показывает, что используется локальная (вутри процедуры) метка. Вместо символа '@' можно использовать и другие символы - это дело вкуса.

Ответ отправлен: 18.11.2004, 08:57
Отправитель: Василевский Александр


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

Здравствуйте, UKY!
просто символ, как и все остальные..
а вот @@ два символа показывают, что метка местная.
* EMan: -=- И легко перо, да на крышу не закинешь. =-=


Ответ отправлен: 19.11.2004, 01:49
Отправитель: Евгений Иванов


Отвечает St

Привет, UKY!
В Tasm с @@ начинаются (по умолчанию) локальные метки и переменные, то есть в разных процедурах можно использовать одинаковые имена и это не вызовет ошибку.
St


Ответ отправлен: 18.11.2004, 19:45
Отправитель: St


 Вопрос № 5985

Ув. эксперты! Как можно получить адрес запущенной программы? Другими словами: программа "A" по адресам DS:XXXXXXXX и DS:YYYYYYYY хранит некие данные. Хотелось бы достать их при помощи MessageBox программы "B".



Вопрос отправлен: 18.11.2004, 02:22
Отправитель: Grey

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

Отвечает Bob Johnson

Добрый день, Grey!
Используй функции OpenProcess, VirtualQueryEx, ReadProcessMemory и т.п. для получения информации о памяти (включая данные) другого процесса.

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


Ответ отправлен: 18.11.2004, 17:24
Отправитель: Bob Johnson


 Вопрос № 5986

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



Вопрос отправлен: 18.11.2004, 14:25
Отправитель: Alex

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

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

Добрый день, Alex!
используй сообщение соотв.
* EMan: -=- И легко перо, да на крышу не закинешь. =-=


Ответ отправлен: 19.11.2004, 01:50
Отправитель: Евгений Иванов


 Вопрос № 5987

Здравствуйте, уважаемые эксперты!
Написал программу из первого примера книги Калашникова О.А. "Ассемлер..." Писал в блокноте. Сассемблировалось все нормально,без ошибок,получил сом-файл (всё как учили).Скажите пожалуйста почему вместо текста я вижу на экране всякую билиберду? Текст в блокноте набирал русскими буквами
Заранее благодарен, чайник Артем.



Вопрос отправлен: 19.11.2004, 10:11
Отправитель: Артем

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

Отвечает Gibbel

Добрый день, Артем!
Все дело в кодировках. В "блокноте", как и в большинстве Windows-программ, используется кодировка 1251, а в DOS принято использовать кодовую страницу 866.
Таким образом, если вы хотите увидеть текст на русском языке в DOS-приложении, то вам необходимо его набирать либо в любом DOS-редакторе, либо в редакторе под Windows, позволяющем сохранить текст в кодировке 866.
Но, это условие является обязательным, но не достаточным. Надо так же проследить, правильно ли у вас установленна кодовая страница для отображения текста в окне DOS (так как, в большинстве случаев, она настроена на западно-европейскую кодировку, то вместо русских букв вы, опять же, получите "кракозяблы"...).

Ответ отправлен: 19.11.2004, 10:48
Отправитель: Gibbel


Отвечает DSota

Доброе время суток, Артем!
Навскидку скажу (т.к. текст именно твоей программы не видел).Тут 2 варианта:
1. Ты забыл поставить знак доллара после своего сообщения (он обозначает конец сообщения и нужен обязательно)
2. Сообщение набрано не в той кодировке - меняется в меню блокнота:
Заходишь в Правка->шрифт. Выбираешь шрифт - "Terminal", набор символов
"OEM/DOS". И пишешь свое сообщение заново...


Ответ отправлен: 19.11.2004, 10:49
Отправитель: DSota


Отвечает Evils_Interrupt

Добрый день, Артем!
Где писал? Винда? Дос? какие версии? что за редакторы?

Ответ отправлен: 19.11.2004, 11:48
Отправитель: Evils_Interrupt


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

Добрый день, Артем!
кодировка ДОС нужна!
* EMan: -=- И легко перо, да на крышу не закинешь. =-=


Ответ отправлен: 19.11.2004, 11:52
Отправитель: Евгений Иванов


 Вопрос № 5988

Отвечает DSota
Доброе время суток, Артем!
Навскидку скажу (т.к. текст именно твоей программы не видел).Тут 2 варианта:
1. Ты забыл поставить знак доллара после своего сообщения (он обозначает конец сообщения и нужен обязательно)
2. Сообщение набрано не в той кодировке - меняется в меню блокнота:
Заходишь в Правка->шрифт. Выбираешь шрифт - "Terminal", набор символов
"OEM/DOS". И пишешь свое сообщение заново...
-------------------------------------------------------------

Ещё раз здравствуйте!
Но при выборе шрифт - "Terminal написание возможно только на английском языке! Как быть?



Вопрос отправлен: 19.11.2004, 11:31
Отправитель: Артем

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

Отвечает Ayl

Здравствуйте, Артем!
Не пиши программы для DOS'а в виндовом блокноте. Импользуй редакторы, которые либо позволяют переключать кодировки, либо сами являются DOS'овскими.
Например, можешь поставить себе FAR Manager и использовать его редактор. Он поддерживает переключение кодировок.


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


 Вопрос № 5989

Уважаемые эксперты!
Я уже немного знаю ассемблер, и решил сделать что-нибудь посерьезнее, чем hello_world. Взял с algolist’а алгоритм генерации пламени, написал под Win32 «так чтобы работало» (после чего хотел попытаться оптимизировать, и возможно использовать MMX). Но после запуска был очень огорчен столь низким fps. Поставил в нескольких местах инструкцию rdtsc, и узнал, что цикл вывода в окно готового кадра медленнее, чем цикл генерации этого кадра почти в 100 раз!!! (для вывода точек использовал SetPixel) После такого начинаешь думать, стоит ли использовать асм.
Можно ли значительно ускорить вывод точек в окне, например используя OpenGL, и если можно, скажите какие функции нужно использовать и какие должны быть параметры.
Заранее спасибо.



Вопрос отправлен: 19.11.2004, 18:17
Отправитель: beginer

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

Отвечает St

Привет, beginer!
Каким образом вы выводите картинки на экран, а именно каким таймером пользуетесь? Стандартный таймер слишком неточный и медленный для многих операций, особенно таких ресурсоемких как вывод на экран.
Насчет Windows и Asm: Вывод на экран возможен только с помощью Windows, тут никуда не деться (хотя он в принципе работает достаточно быстро для большинства случаев, например удавалось с помощью некоторых обычных функций Windows обновлять полный экран 1024x768 до 50 раз в секунду на Pentium 166), а вот подготовка изображения на Asm'е как раз и дает выигрыш во времени по сравнению с другими языками программирования.
St

Ответ отправлен: 22.11.2004, 13:51
Отправитель: St


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

Добрый день, beginer!
Используй DirectX.
* EMan: -=- И легко перо, да на крышу не закинешь. =-=


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


Отвечает Dark_Lord

Приветствую Вас, beginer!
Выводит пиксели функцией SetPixel прямо в окно естественно будет ну оооочень медленно. Тебе следует получить DC окна, создать виртуальную DC CreateCompatibleDC(hDC), потом создать битмап, CreateCompatibleBitmap(hDC) и выводить всё в них, а при WM_PAINT копировать содержимое выртуального DC в оконный DC функцией BitBlt, например. Так получится гораздо быстрее!

Ответ отправлен: 19.11.2004, 19:31
Отправитель: Dark_Lord


 Вопрос № 5990

Срочно нужна прога на ассемблере, которая выводит точку(x,y,color) на экран с большой скоростью в графическом режиме 640x480(16 цветов) c использованием видиопамяти, что б можно было рисовать фигуры точками.
Обращатся на:
e-mail: mnenepofig.rambler.ru
ICQ: 217-583-936
Буду весьма благодарен!



Вопрос отправлен: 19.11.2004, 21:36
Отправитель: Alexander (mnenepofig@rambler.ru)

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

Отвечает DSota

Приветствую Вас, Alexander!
Хорошо описано в
http://robert-zhurden.viv.ru/cont/jourdain/1.html

Ответ отправлен: 19.11.2004, 23:35
Отправитель: DSota


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

Доброе время суток, Alexander!
Возьми мой исходник. Там ОЧЕНЬ быстрые подпрограммы для работы в этом видеорежиме. 4 слоя.
http://superforest.narod.ru/rar/kalah.rar
* EMan: -=- И легко перо, да на крышу не закинешь. =-=


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


 Вопрос № 5991

Здравствуйте, Эксперты! Помогите кто чем сможет. Стоит такая задача: написать резидентный драйвер клавиатуры (хотя бы только часть, которая бы обрабатывала функциональные клавиши и Alt, Ctrl, Shift, а результаты нажатия записывала бы в файл).



Вопрос отправлен: 21.11.2004, 00:43
Отправитель: Евгений

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

Отвечает Стас

Доброе время суток, Евгений!
1) Для DOS? или Win?
2) Какие "результаты нажатия" могут быть у этих кнопок?
(имеешь в виду с какими клавишами нажимались?
Т.е. лог в файле должен иметь вид:
Ctrl-C, Ctrl-a, Ctrl-C, Ctrl-a, Alt - Shift - Enter?)


Ответ отправлен: 21.11.2004, 01:49
Отправитель: Стас


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

Добрый день, Евгений!
на моём сайте смотри исходник игры Калах.
* EMan: -=- И легко перо, да на крышу не закинешь. =-=


Ответ отправлен: 24.11.2004, 20:41
Отправитель: Евгений Иванов


Отвечает DSota

Доброе время суток, Евгений!
Просто используй 2 прерывания:
1. INT 09h - для чтения в буфер ОЗУ символа с порта клавиатуры (in al,60h), и
вызова стандартного драйвера клавиатуры.
2. INT 28h - для добавления записанных в буфер клавиш в файл.
Все это для ДОСа, в Виндовсе похоже только чтение клавиатуры.

Ответ отправлен: 22.11.2004, 09:36
Отправитель: DSota


Отвечает _vt

Приветствую Вас, Евгений!
Причем тут драйвер? Это т.н. кейлоггер. В общем случае, ставь хук на WM_KEYBOARD с помощью SetWindowsHookEx(...). За примерами - обращайся в MSDN.
* Origin : I′d like to change the world, but I have no source code


Ответ отправлен: 22.11.2004, 12:32
Отправитель: _vt


 Вопрос № 5992

Привет.
Как отследить(hook) если комп подключен к интернету?, т.е. когда пользователь подключается к инету - идет вызов моей hook-функции. Заранее спасибо.



Вопрос отправлен: 21.11.2004, 22:11
Отправитель: bcc

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

Отвечает _vt

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

BOOL InternetGetConnectedStateEx(
OUT LPDWORD lpdwFlags,
OUT LPTSTR lpszConnectionName,
IN DWORD dwNameLen,
IN DWORD dwReserved
);

Это из wininet.dll.
* Origin : I′d like to change the world, but I have no source code


Ответ отправлен: 25.11.2004, 15:23
Отправитель: _vt



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

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

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

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

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

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





http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.faq
Отписаться

В избранное