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

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


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

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

Выпуск № 653
от 22.10.2003, 04:20

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


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

dr_dolphin
Статус: Доверительный
Общий рейтинг: 118.58
[Подробней >>]
Евгений Иванов
Статус: Профессиональный
Общий рейтинг: 141.71
URL: Super Assembler Software
Телефон: НСС +7 831 3107039
[Подробней >>]
_vt
Статус: Профессиональный
Общий рейтинг: 121.76
[Подробней >>]
 
Gibbel
Статус: Профессиональный
Общий рейтинг: 106.64
URL: Savage Metal Club - жизнь в стиле рок-н-ролл
Телефон: +7 901 710 3146
[Подробней >>]
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 150.63
URL: Программирование
[Подробней >>]
Portnov
Статус: Профессиональный
Общий рейтинг: 108.29
URL: Мой сайтик...
[Подробней >>]
 
Dark_Lord
Статус: Профессиональный
Общий рейтинг: 110.92
[Подробней >>]
vitya
Статус: Профессиональный
Общий рейтинг: 108.03
[Подробней >>]


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

Вопрос № 4322. Доброго времени суток, ув. Экстперты. Не знаете ли Вы, гда можно найти описания команд 3DNow! и exte... (ответов: 3)
Вопрос № 4323. Привет, Эксперты! 1)Вопрос такой: в ДОСе прямой записью в видеопамять (в текстовом режиме) заливаю в... (ответов: 2)
Вопрос № 4324. Я скачал SoftIce 4.0 и он под ХР-ой не работает!!! При загрузке выскакивает экран смерти и всё. Это ... (ответов: 3)
Вопрос № 4326. Доброго времени суток, эксперты! У меня есть три вопроса: 1. Как можно получить объем текущего блока... (ответов: 3)
Вопрос № 4327. Здравствуйте уважаемые эксперты! С интересом читаю данную рассылку, много интересной информации! Не ... (ответов: 2)
Вопрос № 4328. Всем привет! Хелп! Цикл со строчки 121-134, проходит только один раз вместо 17 заданных , хоть СХ (в... (ответов: 1)
Вопрос № 4329. Приветствую всех экспертов! Моей *.com программе в "чистом досе" требуется хранить в опера... (ответов: 5)
Вопрос № 4331. Пивет всем! Вопрос таков! Как закрыть окно зная его хэндл? Как найти на определенной форме все объек... (ответов: 3)
Вопрос № 4332. Здрасьтье эксперты. А как бы мне узнать какие файлы находятья в заданном каталоге?, какими АПИ польз... (ответов: 3)

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


 Вопрос № 4322

Доброго времени суток, ув. Экстперты.
Не знаете ли Вы, гда можно найти описания команд 3DNow! и extended 3DNow! для ассемблера. Не отсылайте на www.amd.com, я там уже всё перерыл!



Вопрос отправлен: 15.10.2003, 21:49
Отправитель: megalama

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

Отвечает dr_dolphin

Приветствую Вас, megalama!
Ну вы видимо плохо смотрели.
Вот Вам:
http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/22466.pdf
тут точно есть.
Всего !


Ответ отправлен: 16.10.2003, 07:35
Отправитель: dr_dolphin


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

Здравствуйте, megalama!
Там и есть.
Отдел для разработчиков.

* EMan1.5: ---===*** Love is real! ***===---


Ответ отправлен: 16.10.2003, 04:14
Отправитель: Евгений Иванов


Отвечает _vt

Здравствуйте, megalama!
Для обычных команд 3dNow! есть описание на русском у Зубкова... А на amd.com - для всех...

*** E-Man - we are waiting for you ***


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


 Вопрос № 4323

Привет, Эксперты!
1)Вопрос такой: в ДОСе прямой записью в видеопамять (в текстовом режиме) заливаю весь экран темно-серым цветом, т.е. байт атрибутов выставляю в 80h, в оконном режиме все работает нормально, в полноэкранном же экран мигает, т.е. все логично: старший бит восьмерки отвечает за мерцание. Но например в программе DosNavigator экран заливается этим же цветом и все нормально и в консоли и fullscreen! Насколько я помню в Турбопаскале этот бит как-то можно было перепрограммировать, как это сделать на асме. И возможно ли использование мерцания в консоли.
2) 33h прерыванием подключаю мышь, в fullscreen все нормально работает, в консоли мыши нет, можно ли это как-нибудь исправить!
3)получаю текущее время ф-цией 02h int 1ah при этом в отладчике видно, что в al возвращается текущее количество часов! У Ральфа Брауна и в других справочниках ничего про возвращение в al нету! Это фича моего биоса, или норма?
Заранее спасибо!



Вопрос отправлен: 15.10.2003, 22:53
Отправитель: Dick Wint

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

Отвечает _vt

Здравствуйте, Dick Wint!
1) Вот пример из Журдена:

;---установка 16 фоновых цветов в текстовом режиме 80*25
MOV AL,00001001B ;установка в 0 бита мигания
MOV DX,3D8H ;адрес регистра
OUT DX,AL ;посылаем в регистр
;---инициализируем весь экран в красный на светлосинем фоне
MOV AX,0B800H ;указываем на видеобуфер
MOV ES,AX ;
MOV CX,2000 ;записываем атрибут в 2000 ячеек
MOV BX,1 ;BX указывает на байт атрибутов
MOV AL,10010100B ;значение байта атрибутов
NEXT_CHAR: MOV ES:[BX],AL ;посылаем атрибуты в буфер
INC BX ;увеличиваем указатель на атрибуты
INC BX ;
LOOP NEXT_CHAR ;пишем в следующую позицию

2) Это вы про консоль WinNT? В свойствах ярлыка галочки радом с "Использование мыши" должны быть сняты, причем обе...
3) Да мало ли, что там...

*** E-Man - we are waiting for you ***


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


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

Доброе время суток, Dick Wint!
1.
Int 10h, 1003h Select Intensity/Blink EGA, VGA
Selects background intensity or blink attribute.
Entry AX = 1003h
BL = 0 | 1 Background intensity | enable blinking
Return Nothing
------------------------------------------------------------------
Normally bit 7 of the attribute byte is used to indicate
foreground blinking. With this service, bit 7 can indicate
foreground blinking (BL = 1) or background intensity (BL = 0).
2.
Свойства окна см.
3.
Просто мусор. Просто осталось от работы. Может это и правда и будет так всегда, но это недокументировано и лучше не использовать.

* EMan1.5: ---===*** Love is real! ***===---


Ответ отправлен: 16.10.2003, 04:15
Отправитель: Евгений Иванов


 Вопрос № 4324

Я скачал SoftIce 4.0 и он под ХР-ой не работает!!!
При загрузке выскакивает экран смерти и всё.
Это прога вообще под ХР работает!!!
С уважением Kasin!



Вопрос отправлен: 16.10.2003, 00:42
Отправитель: Kasin (kasin@r66.ru)

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

Отвечает _vt

Доброе время суток, Kasin!
Скачай патч для ХР... Будет нормально... Или более новую версию - из DS 2.7...

*** E-Man - we are waiting for you ***


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


Отвечает dr_dolphin

Приветствую Вас, Kasin!
Ну это уже пора в FAQ добавлять.
Еще раз повторим:
SoftICE 4.0 под XP НЕ РАБОТАЕТ !!!
Нужно ставить NuMega Driver Suite for XP и все !
До встречи!


Ответ отправлен: 16.10.2003, 07:38
Отправитель: dr_dolphin


Отвечает Gibbel

Здравствуйте, Kasin!
Ищи SoftIce из пакета NuMega Driver Suit 2.6 или выше.

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


 Вопрос № 4326

Доброго времени суток, эксперты!
У меня есть три вопроса:
1. Как можно получить объем текущего блока памяти (в DOS)?
2. Где можно достать информацию о форматах файлов Mod, s3m (желательно, на русском)?
3. Небольшой оффтопик. В одной демке для ZX было написано, что в ней используется вычисление синуса процедурой всего из восьми команд процессора. Может, вам об этом известно?
Заранее спасибо!



Вопрос отправлен: 16.10.2003, 13:52
Отправитель: AlX

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

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

Добрый день, AlX!
1.
В его заголовке.
По сути, ты должен сам следить за этим.
Но там есть заголовок, по моему 16 байт.
Начинается с символов MZ.
Ну дальше размер и адрес на следующий блок.
Сам смотри, где что.
2.http://www.websound.ru/
3.Может быть и используется и 8 команд, но просто для взятия готового из какой-либо таблицы, а не для вычисления...
Всем тоже спасибо, особенно Наталье!

* EMan1.5: ---===*** Love is real! ***===---


Ответ отправлен: 16.10.2003, 17:05
Отправитель: Евгений Иванов


Отвечает Bob Johnson

Здравствуйте, AlX!
2. У меня есть, но на английском языке. Если тебе подойдет - давай мыло, я вышлю.
3. Можно вычислять синус через таблицы, которые заранее подготовлены. Вообще же на счет того, что написано - сам понимаешь.

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


Ответ отправлен: 17.10.2003, 21:54
Отправитель: Bob Johnson


Отвечает Portnov

Приветствую Вас, AlX!
1. Не понял, что значит "текущий блок памяти". А вообще-то, это в MCB (MemoryControlBlocks). Выдержка из TechHelp по этому поводу в приложении.
2. У baldrа на странице: dospage.by.ru, там вроде в разделе документация... Архивчик с доками про форматы файлов
3. По всей видимости, цикл... И, наверное, активно используется обмен активных и теневых регистров. Хотя это только предположения.
С уважением, Portnov.

Приложение:

Ответ отправлен: 16.10.2003, 19:27
Отправитель: Portnov


 Вопрос № 4327

Здравствуйте уважаемые эксперты!
С интересом читаю данную рассылку, много интересной информации! Не могли бы вы ответить на вопрос: Каким образом можно вставить дополнительный пункт меню (Файл ,Правка, Вид,...,Моё меню, Справка) в MSExcel и обрабатывать нажатие. Предпочтительнее привязка к C++Builder, буду благодарен, если хотябы подскажите где, капать.....лопата есть! :)



Вопрос отправлен: 16.10.2003, 22:19
Отправитель: Grom (grombox@stsland.ru)

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

Отвечает Bob Johnson

Приветствую Вас, Grom!
Напиши макрос на VBA в Excel. Чтобы вставить пункт меню в чужое приложение и потом его еще и обрабатывать, тебе надо будет в него внедриться, а это уже не так просто.

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


Ответ отправлен: 17.10.2003, 21:54
Отправитель: Bob Johnson


Отвечает Gibbel

Приветствую Вас, Grom!
InsertMenuItem() + SetWindowsHookEx() позволят тебе добавить свой пункт меню в любое приложение.

Ответ отправлен: 17.10.2003, 11:54
Отправитель: Gibbel


 Вопрос № 4328

Всем привет!
Хелп!
Цикл со строчки 121-134, проходит только один раз вместо 17 заданных , хоть СХ (вроде) и не меняется. ? Или я ошибаюсь и СХ где-то нулит?
Николай.


Приложение:


Вопрос отправлен: 16.10.2003, 22:42
Отправитель: Николай (nikolos_siti@mail.ru)

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

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

Добрый день, Николай!
Надо поставить переход после int 33 на участок кода после данных!
int 21h
mia_xesh_t str_xesh_t 17 dup (<0,0,0>)
lea di,mia_xesh_t
И ещё ты забыл команду RET в подпрограмме obrob.
Удачи!
(Наталье огромный привет и сил в написании курсовика!)

* EMan1.5: ---===*** Love is real! ***===---


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


 Вопрос № 4329

Приветствую всех экспертов!
Моей *.com программе в "чистом досе"
требуется хранить в оперативной памяти
промужуточные данные размером более 10мб,
как это организовать?
Можно, конешно, хранить эти данные на
диске, но программа в этом случае подтормаживает.



Вопрос отправлен: 17.10.2003, 10:09
Отправитель: Zensor (ZASM@Mail.ru)

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

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

Добрый день, Zensor!
Используй XMS-память. Его обеспечивает himem.sys драйвер.
Она быстрее, чем EMS.

* EMan1.5: ---===*** Love is real! ***===---


Ответ отправлен: 17.10.2003, 16:19
Отправитель: Евгений Иванов


Отвечает dr_dolphin

Добрый день, Zensor!
Функции himem.sys тебе помогут ....
Всего хорошего


Ответ отправлен: 17.10.2003, 13:23
Отправитель: dr_dolphin


Отвечает Bob Johnson

Приветствую Вас, Zensor!
Используй xms или "нереальный" режим (если нет vmm).

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


Ответ отправлен: 17.10.2003, 21:53
Отправитель: Bob Johnson


Отвечает Dark_Lord

Приветствую Вас, Zensor!
Можешь использовать нереальный режим процессора, но тогда столько памяти должно стоять в компьютере. Если подходит пиши, объясню как это сделать! Dark_Lord@RusFAQ.ru

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


Отвечает Gibbel

Доброе время суток, Zensor!
В данной ситуации я вижу три варианта:
1. Использовать Expend Memory(EMM) API
2. Создать свой менеджер верхней памяти и использовать его.
3. Использовать "нереальный" режим.

Ответ отправлен: 17.10.2003, 12:28
Отправитель: Gibbel


 Вопрос № 4331

Пивет всем!
Вопрос таков!
Как закрыть окно зная его хэндл?
Как найти на определенной форме все объекты с классом tbutton и отправить ему назначение закрытия? !



Вопрос отправлен: 17.10.2003, 21:29
Отправитель: Кирилл

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

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

Добрый день, Кирилл!
1.
DestroyWindow(hwnd);
2.
Смотри на моём сайте программу PressButton;
Вот часть из неё:
mov ((type ini.Object [ebx]).IniData,esi);
strlen ((type inid [esi]).NameWindow);
xchg (edi,eax);
win.GetWindowTextLength (hwnd0);
or (eax,eax);
jz exit_proc;
cmp (eax,edi);
jnz exit_proc;
inc (eax);
mov (eax,Len0);
win.GlobalAlloc (win.GMEM_FIXED,eax);
or (eax,eax);
jz exit_proc;
mov (eax,Buf0);
win.GetWindowText (hwnd0,eax,Len0);
or (eax,eax);
jz exit_proc0;

win.lstrcmp ((type inid [esi]).NameWindow,Buf0);
or (eax,eax);
jnz exit_proc0;
//-----------------
sub (edi,edi);
win.GlobalAlloc (win.GMEM_FIXED,512);
or (eax,eax);
jz m1;
xchg (edi,eax);
win.GetDlgItemText (hwnd0,(type inid [esi]).NumButton,edi,512);
or (eax,eax);
jz m1;
inc (eax);
xchg (ebx,eax);
win.GlobalReAlloc (edi,ebx,win.GMEM_MOVEABLE);
or (eax,eax);
jz m1;
mov ((type inid [esi]).NameButton,eax);
or (eax,eax);
jz m2;
win.GlobalFree (eax);
m2:
mov (edi,(type inid [esi]).NameButton);
sub (edi,edi);
//-----------------
m1:
win.SendDlgItemMessage (hwnd0,(type inid [esi]).NumButton,245,0,0);
or (edi,edi);
jz exit_proc0;
win.GlobalFree (edi);
exit_proc0:
win.GlobalFree (Buf0);
elseif (wParam == MyTimer2) then //--------------------------------------
lea (esi,crdMouse);
win.GetCursorPos (esi);
w32.WindowFromPoint ([esi]);
if (eax <> 0) then
mov (eax,hwnd0);
w32.GetClassName (eax,&buffer,512);
if (eax <> 0) then
win.lstrcmpi (&buffer,&str_button_class);
if (eax == 0) then
lea (ebx,rc);
win.GetWindowRect (hwnd0,ebx);
win.CreateDC (&str_display,NULL,NULL,NULL);
if (eax <> 0) then
xchg (edi,eax);
mov (hwnd0,eax);
if (eax <> hwnd_0) then
mov (eax,hwnd_0);
mov (0,schFlash);
endif;
test (1,fDrawRect);
if (@z) then
w32.DrawFocusRect (edi,ebx);
inc (schFlash);
if (schFlash == 2) then
GetInfoFromWindow (hwnd0);
endif;
else
w32.DrawFocusRect (edi,&rc_0);
endif;
xor (1,fDrawRect);
w32.DeleteDC (edi);
lea (edi,rc_0);
mov ([ebx],eax);
mov (eax,[edi]);
mov ([ebx+4],eax);
mov (eax,[edi+4]);
mov ([ebx+8],eax);
mov (eax,[edi+8]);
mov ([ebx+12],eax);
mov (eax,[edi+12]);
endif;
else
jmp cl0;
endif;
else
jmp cl0;
endif;
else
cl0:
ClearRect (&rc_0);
endif;

* EMan1.5: ---===*** Love is real! ***===---


Ответ отправлен: 17.10.2003, 21:59
Отправитель: Евгений Иванов


Отвечает Dark_Lord

Доброе время суток, Кирилл!
DestroyWindow убивает любое окно, получая параметром handle!

Ответ отправлен: 18.10.2003, 17:23
Отправитель: Dark_Lord


Отвечает Bob Johnson

Добрый день, Кирилл!
Можно послать ему сообщение WM_CLOSE или даже WM_QUIT - поэксперементируй.

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


Ответ отправлен: 17.10.2003, 21:54
Отправитель: Bob Johnson


 Вопрос № 4332

Здрасьтье эксперты.
А как бы мне узнать какие файлы находятья в заданном каталоге?,
какими АПИ пользоваться?
Спасибоки.%)



Вопрос отправлен: 18.10.2003, 04:11
Отправитель: %)

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

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

Здравствуйте, %)!
The FindFirstFile function searches a directory for a file whose name matches the specified filename. FindFirstFile examines subdirectory names as well as filenames.
HANDLE FindFirstFile(
LPCTSTR lpFileName, // address of name of file to search for
LPWIN32_FIND_DATA lpFindFileData // address of returned information
);

* EMan1.5: ---===*** Love is real! ***===---


Ответ отправлен: 18.10.2003, 09:13
Отправитель: Евгений Иванов


Отвечает vitya

Здравствуйте, %)!
используйте FindFirstFile, FindNextFile.

Ответ отправлен: 18.10.2003, 12:40
Отправитель: vitya


Отвечает Bob Johnson

Здравствуйте, %)!
FindFirstFile и FindNextFile.

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


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



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

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

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

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (28)
C / C++ (29)
Perl (6)
Builder / Delphi (23)
Pascal (23)
Basic / VBA (7)
Java / JavaScript (7)
PHP (11)
Криптография (8)
WinAPI (16)
Пользователю
Windows 95/98/Me (49)
Windows NT/2000/XP (62)
"Железо" (35)
Поиск информации (26)
Администратору
Windows NT/2000/XP (37)
Linux / Unix (13)
Юристу
Гражданское право (10)
Семейное право (7)
Трудовое право (7)
КоАП (7)

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




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


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


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

В избранное