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

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


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

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

Выпуск № 673
от 10.12.2003, 05:30

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


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

Евгений Иванов
Статус: Профессиональный
Общий рейтинг: 141.92
URL: Super Assembler Software
Телефон: Пчёлка +7 905 6601206
[Подробней >>]
ASMодей
Статус: Профессиональный
Общий рейтинг: 112.69
[Подробней >>]
never_again
Статус: Опытный
Общий рейтинг: 134.5
[Подробней >>]
 
Dark_Lord
Статус: Профессиональный
Общий рейтинг: 110.54
[Подробней >>]
PUSH
Статус: Доверительный
Общий рейтинг: 108.29
[Подробней >>]
Kate
Статус: Начальный
Общий рейтинг: 101.85
[Подробней >>]
 
dr_dolphin
Статус: Опытный
Общий рейтинг: 115.49
[Подробней >>]
_vt
Статус: Профессиональный
Общий рейтинг: 119.44
[Подробней >>]
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 148.07
URL: Программирование
[Подробней >>]
 
Igor
Статус: Начальный
Общий рейтинг: 105.55
[Подробней >>]
Gibbel
Статус: Профессиональный
Общий рейтинг: 106.33
URL: Savage Metal Club - жизнь в стиле рок-н-ролл
Телефон: +7 901 710 3146
[Подробней >>]
Maverick
Статус: Профессиональный
Общий рейтинг: 122.16
URL: Эхоконференция по вирмейкингу
Телефон: 89039415024 (BeeLine GSM)
[Подробней >>]


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

Вопрос № 4576. Приветствую всех экспертов и других кто читает это обращение за помощью. У меня такой вопрос к ва... (ответов: 2)
Вопрос № 4577. Вот такой примерчик : mov ax, 0B800H mov es, ax mov bx, 0 mov [BYTE PTR es:bx], 'X' ... (ответов: 8)
Вопрос № 4578. Здравствуйте, уважаемые эксперты. Я хочу на FASMе провести прямую синюю линию в окне. Пишу код: ... (ответов: 4)
Вопрос № 4579. Существуют ли универсальные распаковщики исполнимых файлов, наподобие UPX для DOS, только для Window... (ответов: 1)
Вопрос № 4580. Ув.эксперты я опять с окном.Спасибо тем кто подсказал но еще хотелось бы узнать - когда сделал окно ... (ответов: 3)
Вопрос № 4582. Уважаемые эксперты. Меня интересует как можно без сопроцессора найти разницу двух чисел короткого ве... (ответов: 2)
Вопрос № 4585. Приветствую всех! 1.Есть у меня комп на intel 440lx(celeron 266)AGP set, снавлю я в agp GeForce256 и... (ответов: 2)
Вопрос № 4586. Здравствуйте, уважаемые эксперты!! Мне пришёл диск от Intel! Вот уж не думал что в нашу деревушку по... (ответов: 3)

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


 Вопрос № 4576

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



Вопрос отправлен: 03.12.2003, 23:27
Отправитель: kera (kera71@hotmail.com)

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

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

Приветствую Вас, kera!
http://superforest.narod.ru/add/disk.rar
* EMan: -=- Любовь существует! =-=


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


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

Добрый день, kera!
Во-первых читать результат выполнения команды (в том числе и регистры состояния ST0-ST3) нужно из регистра данных (из того самого, куда записывались команды).
Во-вторых читать из этого регистра можно не все подряд, а только то и в таком порядке, как это определено форматом выполнявшейся команды. Например команда чтения данных возвращает в результате 7 байт в следующем порядке: ST0/ST1/ST2/C/H/R/N (подробнее смотри описание команд контроллера FDC 8272A)
И еще перед чтением следующего байта результата нужно проверять бит 7 регистра состояния.


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


 Вопрос № 4577

Вот такой примерчик :
mov ax, 0B800H
mov es, ax
mov bx, 0
mov [BYTE PTR es:bx], 'X'
Почему символ не выводится?



Вопрос отправлен: 04.12.2003, 03:30
Отправитель: aRKaSHa

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

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

Добрый день, aRKaSHa!
Вот так попробуй:
mov [WORD PTR es:bx], 'X'+256*7

* EMan: -=- Любовь существует! =-=


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


Отвечает never_again

Приветствую Вас, aRKaSHa!
попробуй так
mov ax,0003h ; включить текстовый режим
int 10h
mov ax, 0B800H
mov es, ax
mov bx, 0
mov BYTE PTR es:[bx],'X' ; обрати внимание на квадратные скобки


Ответ отправлен: 04.12.2003, 19:22
Отправитель: never_again


Отвечает Dark_Lord

Доброе время суток, aRKaSHa!
Следующий байт, это чвет буквы, и он скорее всего чёрный на чёрном фоне...

Ответ отправлен: 06.12.2003, 20:58
Отправитель: Dark_Lord


Отвечает PUSH

Добрый день, aRKaSHa!А текстовой видеорежим был включен?
Пришлите программу полностью.


Ответ отправлен: 04.12.2003, 06:19
Отправитель: PUSH


Отвечает Kate

Доброе время суток, aRKaSHa!
Всё нормально работает! Может быть вы запускаете ее из под XP, но не переключили графический режим?

Ответ отправлен: 04.12.2003, 08:25
Отправитель: Kate


Отвечает dr_dolphin

Здравствуйте, aRKaSHa!
Ваш код:
mov ax, 0B800H
mov es, ax
mov bx, 0
mov [BYTE PTR es:bx], 'X' <<< Ошибка !
правильно: mov es:[bx],byte ptr 'X'
таким образом проблема решится...
Пока !


Ответ отправлен: 04.12.2003, 08:34
Отправитель: dr_dolphin


Отвечает _vt

Доброе время суток, aRKaSHa!
Во-первых, пример у меня не компилировался в TASM, пока я не вставил в начало строку ideal. Во-вторых, у меня под ХР символ действительно не выводился, но для этого надо вставить перед началом кода строчки
mov ax,3
int 10h
И после этого символ появился...

*** E-Man - can help you***


Ответ отправлен: 04.12.2003, 11:27
Отправитель: _vt


Отвечает Bob Johnson

Приветствую Вас, aRKaSHa!
А у тебя ОС какая? Windows XP? Тогда см. на моей странице в разделе faq.

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


Ответ отправлен: 05.12.2003, 01:58
Отправитель: Bob Johnson


 Вопрос № 4578

Здравствуйте, уважаемые эксперты. Я хочу на FASMе провести прямую синюю линию в окне.
Пишу код:
mov cx,9
rectxin:
mov [remember],cx
invoke SetPixel, [.hdc], 14, [remember], 0x00ff0000
mov cx,[remember]
loop rectxin
В итоге программа выполняет недопустимую операцию и закрывается.
Если вместо приведенного фрагмента пишу просто:
invoke SetPixel, [.hdc], 14, 9, 0x00ff0000
invoke SetPixel, [.hdc], 14, 8, 0x00ff0000
invoke SetPixel, [.hdc], 14, 7, 0x00ff0000
invoke SetPixel, [.hdc], 14, 6, 0x00ff0000
invoke SetPixel, [.hdc], 14, 5, 0x00ff0000
invoke SetPixel, [.hdc], 14, 4, 0x00ff0000
invoke SetPixel, [.hdc], 14, 3, 0x00ff0000
invoke SetPixel, [.hdc], 14, 2, 0x00ff0000
invoke SetPixel, [.hdc], 14, 1, 0x00ff0000
Все работает без ошибок.
Если в первом примере убираю сторку invoke SetPixel, [.hdc], 14, [remember], 0x00ff0000
то он тоже ошибок не выдает, но и не рисует :-(
Помогите пожалуста разобраться, в чем дело.
Большой спасибо.



Вопрос отправлен: 04.12.2003, 15:39
Отправитель: inetcoder

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

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

Добрый день, inetcoder!
Применяй ECX, а не CX.
У тебя наверное, ушёл в "бесконечный" путь.. :-)
"Ты вот так кури!":
mov esi,9
m1:
Call SetPixel, [hdc_0], esi, 0FF0000h
dec esi
jnz m1
Удачи!
* EMan: -=- Любовь существует! =-=


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


Отвечает never_again

Здравствуйте, inetcoder!
mov cx,9 замени на mov еcx,9.
у меня уже такое было. по ХР работало, а под 98 вышибало. Пока разобрался в чём дело чуть не поседел.


Ответ отправлен: 04.12.2003, 19:12
Отправитель: never_again


Отвечает PUSH

Добрый день, inetcoder!Для loop надо использовать не cx a ecx вдруг у вас старшая часть регистра не равна 0,Винда же 32разрядная


Ответ отправлен: 05.12.2003, 04:18
Отправитель: PUSH


Отвечает Bob Johnson

Здравствуйте, inetcoder!
loop команда 32-разрядная и оперирует ecx, а не cx - сохранять (и восстанавливать) надо есх.

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


Ответ отправлен: 05.12.2003, 01:58
Отправитель: Bob Johnson


 Вопрос № 4579

Существуют ли универсальные распаковщики исполнимых файлов, наподобие UPX для DOS, только для Windows?



Вопрос отправлен: 04.12.2003, 18:20
Отправитель: AlX

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

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

Добрый день, AlX!
UPX и для Windows есть...
А ещё я знаю UNEXE..

* EMan: -=- Любовь существует! =-=


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


 Вопрос № 4580

Ув.эксперты я опять с окном.Спасибо тем кто подсказал но еще
хотелось бы узнать - когда сделал окно на весь экран и
WS_TOPMOST, может даже убрал системную панель - все классно.Но мне нужно,чтобы моя программа (пока она в развернутом виде) не реагировала на "чужие кнопки", в принципе так и происходит, но кнопочка с флажочком например выводит "старт меню",а с него уже можно запустить
что угодно и к тому же поверх моего.Как бы от этого избавиться???



Вопрос отправлен: 05.12.2003, 00:52
Отправитель: Arthy (farby_k@front.ru)

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

Отвечает Igor

Добрый день, Arthy!
Попробуйте отрубить кнопку таким же путём как и таскбар.
Для этого нужно найти HWND её. Насколько помню примерно так:
Procedure hideStartbutton (visi: boolean);
1)Находим hwnd tray'ya - trayhwnd=FindWindow('Shell_TrayWnd',null);
2)Дальше нам нужно найти кнопку. Для этого преёдется перебрать что-то типа такого:
HwndChils=GetWindow(TrayHwnd,GW_CHILD)
Получили hwnd ЧЕГОТО, но мы не знаем кнопка ли это.Тогда:
3)Циклом пробегаем все ChildHwnd и смотрим так:
GetClassName(ChildHwnd,char[],length)
если имя класса в char[] BUTTON, то тогда сохраняем хэндл кнопки. А потом ShowWindow(ButtonHwnd...) :)
Совет:
Посмотри флаги GetWindow - чтобы перебирать hwnd child окон, переход делай используя флаг GW_HWNDNEXT.
И опять же, MSDN по этим функциям даст исчерпывающий ответ.
--
Второй вариант поставить глобальный хук и ловить эти клавиши, так сделаны все keymanager'i. Посмотри темы в MSDN ATOM ли что-то в этом роде, не помню уже.
Удачи!

Ответ отправлен: 05.12.2003, 02:18
Отправитель: Igor


Отвечает Gibbel

Приветствую Вас, Arthy!
Если тебе нужно, чтоб комп не реагировал вообще ни на какие "чужие кнопки", то тебе придется написать свой драйвер.

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


Отвечает Bob Johnson

Здравствуйте, Arthy!
Использовать клавиатурный хук, в котором запретить нажимать клавиши.

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


Ответ отправлен: 07.12.2003, 03:03
Отправитель: Bob Johnson


 Вопрос № 4582

Уважаемые эксперты.
Меня интересует как можно без сопроцессора найти разницу двух чисел короткого вещественного формата (4 байта) а потом все эти три числа преобразовать в ASCII строки для вывода на экран (вообщем конвертировать короткое вещественное число из 4 байтов в обычный десятичный вид как строку)



Вопрос отправлен: 05.12.2003, 11:48
Отправитель: alexis

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

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

Добрый день, alexis!
Надо знать формат плавающей точки...
* EMan: -=- Любовь существует! =-=


Ответ отправлен: 05.12.2003, 23:45
Отправитель: Евгений Иванов


Отвечает Bob Johnson

Приветствую Вас, alexis!
См. формат float - тебе нужно будет вначале сравнять их порядки сдвигом меньшего числа вправо (при этом оно может даже стать = 0), затем сложить мантиссы. Если получишь 0 в старшем разряде, то нормализовать сдвигом результата влево и уменьшением порядка.

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


Ответ отправлен: 07.12.2003, 03:05
Отправитель: Bob Johnson


 Вопрос № 4585

Приветствую всех!
1.Есть у меня комп на intel 440lx(celeron 266)AGP set,
снавлю я в agp GeForce256 и еттот комп отказываеться работать напрочь,даже начальной загрузки не происходит(в CMOS SETUP НЕ ПОПАСТЬ, зато с woodoo 3dfx(PCI), запускаеться без проблем,подскажите господа эксперты что-либо.Может BIOS (AMIBIOS)перешить?
2.Возможно есть у кого-нибудь из вас схема подкльчения кнопок передней панели к motherboard?
Спасибо, удачи.



Вопрос отправлен: 05.12.2003, 20:13
Отправитель: alex

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

Отвечает never_again

Приветствую Вас, alex!
1) причин может быть море. надо разбираться непосредственно с железом. через и-нет это не реально.
2) почитай внимательно мануал к маме. На каждой маме своя распиновка и на каждом корпусе разные кнопки. так что звыняй... но это не ко мне.

Ответ отправлен: 05.12.2003, 23:21
Отправитель: never_again


Отвечает Bob Johnson

Добрый день, alex!
1. Возможно, что Ge Force потребляет очень много энергии (т.е. материнская плата не может обеспечить его этим, т.к. она старая).
2. Это написано на плате (в инструкции) и на самих проводах.

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


Ответ отправлен: 07.12.2003, 03:05
Отправитель: Bob Johnson


 Вопрос № 4586

Здравствуйте, уважаемые эксперты!!
Мне пришёл диск от Intel! Вот уж не думал что в нашу деревушку попрётся курьер. :) Порадуйтесь за меня, я не знаю английского, ну почти. :)
Вопрос:
Есть ли среди вас кто хорошо разбирается в PE-формате? Хотел задать пару-тройку сотен воросов. :))
Спасибо.



Вопрос отправлен: 06.12.2003, 05:25
Отправитель: Drahus (drahus@yandex.ru)

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

Отвечает Maverick

Здравствуйте, Drahus!
Насчет хорошо-плохо не знаю, но то, что было нужно мне, все понял. Задавай, подумаем.


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


Отвечает Bob Johnson

Здравствуйте, Drahus!
> Порадуйтесь за меня
:) Плохо то, что заказывали-то у них книги (т.е. печатную продукцию), а пришел диск. ..

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


Ответ отправлен: 07.12.2003, 03:05
Отправитель: Bob Johnson


Отвечает PUSH

Приветствую Вас, Drahus!А что именно вам нужно знать про PE формат?


Ответ отправлен: 07.12.2003, 06:27
Отправитель: PUSH



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

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

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

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

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

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




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


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


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

В избранное