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

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


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

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

Выпуск № 516
от 05.04.2003, 10:20

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


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

Bob Johnson
Статус: Профессиональный
Общий рейтинг: 150.39
URL: Программирование
[Подробней >>]
Dark_Lord
Статус: Профессиональный
Общий рейтинг: 115.34
[Подробней >>]
Samodelkin
Статус: Доверительный
Общий рейтинг: 140.69
[Подробней >>]
 
Beeblebrox
Статус: Профессиональный
Общий рейтинг: 109.28
URL: Beeblebrox / TMA HomePage
[Подробней >>]
Gibbel
Статус: Профессиональный
Общий рейтинг: 108.31
URL: Страничка обо мне и моих друзьях
Телефон: +7 902 168 02 65
[Подробней >>]
Ayl
Статус: Профессиональный
Общий рейтинг: 118.47
[Подробней >>]
 
Broken Sword
Статус: Профессиональный
Общий рейтинг: 124.43
URL: моя рассылка по Protected Mode
[Подробней >>]
Andrew Vext
Статус: Опытный
Общий рейтинг: 107.1
[Подробней >>]
Maverick
Статус: Профессиональный
Общий рейтинг: 136.63
URL: Задачи по ассемблеру
Телефон: 89039415024 (BeeLine GSM)
[Подробней >>]
 
keleb-glin
Статус: Опытный
Общий рейтинг: 109.04
[Подробней >>]
DiGiT[old]
Статус: Профессиональный
Общий рейтинг: 111.3
[Подробней >>]


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

Вопрос № 2867. Здравствуйте! Из описание команд CWD и CDQ: Эти команды всего лишь устанавливают все биты регистра D... (ответов: 6)
Вопрос № 2868. Привет экспертам! Пытаюсь загрузитьтекст текст сразу в буфер editа, но не получается (файл таким обр... (ответов: 2)
Вопрос № 2870. Здравствуйте эксперты! Тут небольшая проблемка, Имеется картинка грабленная с какого либо окна, треб... (ответов: 1)
Вопрос № 2871. Рассылка по защищенке накрылась, да?... (ответов: 1)
Вопрос № 2872. Дайте, пожалста, исходник, который под ProtMode выводит строку и зацикливается. Какие примеры ни ком... (ответов: 1)
Вопрос № 2875. Знает кто-инть, есть ли перевод книги "The Art of Assembly Language"?... (ответов: 3)
Вопрос № 2876. Уважаемые господа эксперты только начинаю изучать ассемблер немогли бы вы подсказать ссылку на хорош... (ответов: 6)
Вопрос № 2877. Здравствуйте, уважаемые эксперты! Подскажите, пожалуйста, как можно восстановить информацию с CD-ROM... (ответов: 2)
Вопрос № 2878. Господа эксперты. Я хочу написать свой прокси сервер,подскажите с чего мне начать... (ответов: 3)

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


 Вопрос № 2867

Здравствуйте!
Из описание команд CWD и CDQ:
Эти команды всего лишь устанавливают все биты регистра DX или EDX в значение, равное значению старшего бита регистра АХ или ЕАХ, сохраняя таким образом его знак.
Но ведь, к примеру, если в ax будет находиться число 10010100, старший бит у этого числа 1 и если расширить это число дополняя значение старшего бита получится совсем другое число, т.е. 1111111110010100 и оно не равно 10010100. А ведь эти команды, всего лишь, должны расширять слово до дв. слова и дв. слово до чтв. слова, а не изменять его. Или я что то не так понял?



Вопрос отправлен: 29.03.2003, 19:38
Отправитель: Alexei

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

Отвечает Bob Johnson

Приветствую Вас, Alexei!
Если тебе нужно сделать, чтобы было просто равно, то используй другую команду расширения числа:
xor dx, dx или xor edx, edx. Тогда в edx будет всегда 0 и число будет равно.
Эти же команды расширяют со знаком, старший бит ax как раз и определяет такой знак. Если он = 0, значит число положительное и в dx будет занесен 0, а если отрицательное (знак = 1), то в dx попадет 111..111. Потому что, например, -1 будет в двоичном коде 11...111 - т.е. все единицы (длина зависит от разрядности), а не только младшая часть (т.к. знак то теперь уже будет не в ax, a в dx).


Ответ отправлен: 30.03.2003, 18:41
Отправитель: Bob Johnson


Отвечает Dark_Lord

Приветствую Вас, Alexei!
Вообще-то 1111111110010100 и 10010100 одно и то же числа, поэтому не знаю в чём проблемма. Не веришь, прибавь к обоим из них 01101011 и получишь -1 в обоих случаях!

Ответ отправлен: 30.03.2003, 15:56
Отправитель: Dark_Lord


Отвечает Samodelkin

Приветствую Вас, Alexei!
:) а вот и равно! если оно знаковое, то -1 размером в байт будет выглядеть как FFh то есть 11111111b, а размером в слово FFFFh то есть 1111111111111111b и так далее проверь это для любого отрицательного числа на виндовом калькуляторе (у него есть двоичные и слово и байт)

Ответ отправлен: 31.03.2003, 04:58
Отправитель: Samodelkin


Отвечает Beeblebrox

Приветствую Вас, Alexei!
С чего ты взял, что 1111111110010100 не равно 10010100?
В знаковой арифметике они равны.

Ответ отправлен: 31.03.2003, 09:55
Отправитель: Beeblebrox


Отвечает Gibbel

Добрый день, Alexei!
Предположим, что в AX У нас 1111111111111110, что, в свою очередь, равно -2. После выполнения соответствующей комманды, мы имеем в DX:AX 11111111111111111111111111111110, что также равно -2. Соответственно, если ты используешь операции, учитывающие знаки операндов (IDIV, например), то эти значения эквивалентны. Если же ты пользуешься беззнаковыми операциями (такими как DIV), то результат, естественно, будет отличаться...

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


Отвечает Ayl

Доброе время суток, Alexei!
А ты посчитай - и все поймешь. Не забудь только, что отрицательные числа представлены в дополнительном коде.
Надеюсь, что для положительных чисел все понятно. Там расширение производится с помощью 0 и число не изменяется...
Теперь возьмем твой пример:
AX = 10010100. Т.е. -108. Расширяем с помощью единиц и получаем:
DX:AX = 1111111110010100, что опять же равно -108.
Только в первом случае у нас база равна 16-ти разрядам, а во втором - 32.

Ответ отправлен: 31.03.2003, 18:33
Отправитель: Ayl


 Вопрос № 2868

Привет экспертам!
Пытаюсь загрузитьтекст текст сразу в буфер editа, но не получается (файл таким образом сохраняет хорошо, а вот открывать не хотит). После вызова ReadFile в SizeReadFile возврацается 0. Где и что я делаю неправильно?
Примного благодарен...


Приложение:


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

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

Отвечает Bob Johnson

Здравствуйте, GHopper!
1. Буфер у edit имеет размер только под текущий текст, и если то, что ты захочешь в него загрузить больше, чем его объем - наверняка какая-нибудь ошибка получится. Попробуй GlobalReAlloc, но вполне возможно, что это ничего не даст.
2. edit не знает, что содержимое его буфера изменилось - так что тут еще придется потрудиться с его перерисовкой.
3. Смотри, что возвращает тебе GlobalLock - может быть указатель на нерабочий блок памяти.


Ответ отправлен: 30.03.2003, 18:41
Отправитель: Bob Johnson


Отвечает Gibbel

Доброе время суток, GHopper!
Вот из такой "экономии" и рождаются глючные проги...
Лучше выдели свой блок памяти, загрузи туда свой файл, а потом скопируй его в Edit с помощью SetWindowText().

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


 Вопрос № 2870

Здравствуйте эксперты!
Тут небольшая проблемка,
Имеется картинка грабленная с какого либо окна,
требуется либо: сохранить ее в каком либо файле,
либо как в RemoteAdministrator передать по сети.
Как сделать само СОХРАНЕНИЕ рисунка
после BitBlt с DC/хендла?
Спасибо!



Вопрос отправлен: 29.03.2003, 22:29
Отправитель: AM

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

Отвечает Bob Johnson

Здравствуйте, AM!
1. CreateCompatibleDC для любого DC экрана.
2. CreateDIBSection с тем форматом, который тебе нужен.
3. SelectObject (HDC, HDIBSection)
4. BitBlt (откуда нужно в новый DC)
5. Спокойно сохрашяешь в файл те байты, которые находятся по адресу, возвращенному CreateDIBSection в том формате, в котором нужно. Или по сети передаешь.


Ответ отправлен: 30.03.2003, 18:41
Отправитель: Bob Johnson


 Вопрос № 2871

Рассылка по защищенке накрылась, да?



Вопрос отправлен: 30.03.2003, 09:44
Отправитель: Человекъ

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

Отвечает Broken Sword

Доброе время суток, Человекъ!
не, в течении месяца че нить придумаю

Ответ отправлен: 30.03.2003, 11:45
Отправитель: Broken Sword


 Вопрос № 2872

Дайте, пожалста, исходник, который под ProtMode выводит строку и зацикливается. Какие примеры ни компилил - перезагружают компутер и все, а ошибку найти - знаний мало.



Вопрос отправлен: 30.03.2003, 13:23
Отправитель: Вопрошающий

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

Отвечает Broken Sword

Здравствуйте, Вопрошающий!
Давай ее на brokensword@mail.ru, это все изза компиля

Ответ отправлен: 30.03.2003, 14:31
Отправитель: Broken Sword


 Вопрос № 2875

Знает кто-инть, есть ли перевод книги "The Art of Assembly Language"?



Вопрос отправлен: 31.03.2003, 10:26
Отправитель: Юзеръ

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

Отвечает Andrew Vext

Приветствую Вас, Юзеръ!
перевода этой книги нет и , скорее всего, не будет поскольку она устарела.

Ответ отправлен: 31.03.2003, 12:14
Отправитель: Andrew Vext


Отвечает Maverick

Добрый день, Юзеръ!
Ты бы хоть автора назвал.
А то никаких ассоциаций одно название не вызывает.


Ответ отправлен: 31.03.2003, 13:00
Отправитель: Maverick


Отвечает Broken Sword

Здравствуйте, Юзеръ!
Ага, называется "Ассемблер для ДОС, Windows и Unix", автор Зубков С.В. Без шуток

Ответ отправлен: 31.03.2003, 15:04
Отправитель: Broken Sword


 Вопрос № 2876

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



Вопрос отправлен: 01.04.2003, 05:43
Отправитель: Pavel (Nifor@mail.kz)

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

Отвечает Andrew Vext

Здравствуйте, Pavel!
Могу предложить книгу Зубкова
www.key4sat.narod.ru/assm01.zip


Ответ отправлен: 01.04.2003, 13:54
Отправитель: Andrew Vext


Отвечает keleb-glin

Приветствую Вас, Pavel!
Читай:
В. Юров "ASSEMBLER. Учебник"
Зубков "ASSEMBLER для DOS, WINDOWS и UNIX"


Ответ отправлен: 02.04.2003, 21:09
Отправитель: keleb-glin


Отвечает DiGiT[old]

Здравствуйте, Pavel!
Магазин :)

Ответ отправлен: 02.04.2003, 05:29
Отправитель: DiGiT[old]


Отвечает Gibbel

Здравствуйте, Pavel!
Смотри http://bobjohnson.nm.ru

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


Отвечает Maverick

Здравствуйте, Pavel!
Лучше всего купить бумажную версию Зубкова.
Электронаая в нете есть, но по бумажной всегда проще и удобнее. Для начала прочитай рассылки Калашникова.


Ответ отправлен: 01.04.2003, 10:00
Отправитель: Maverick


Отвечает Bob Johnson

Здравствуйте, Pavel!
Скачай книгу Зубкова на моей странице. bobjohnson.nm.ru


Ответ отправлен: 01.04.2003, 19:43
Отправитель: Bob Johnson


 Вопрос № 2877

Здравствуйте, уважаемые эксперты!
Подскажите, пожалуйста, как можно восстановить информацию с CD-ROM, если повреждена запись, отвечающая за саму структуру
информации на диске, вследствие чего диск вообще не читается?
Подскажите, пожалуйста, источники по восстановлению информации на жестких дисках, при условии повреждения на них главной загрузочной записи и прочих подобного рода проблемах, неустранимых силами ОС.
Заранее благодарен!
Ярослав.



Вопрос отправлен: 01.04.2003, 07:18
Отправитель: Ярослав

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

Отвечает Dark_Lord

Доброе время суток, Ярослав!
есть такая программа, ISOBuster, она может прогнать побитно бесь диск, если она не поможет, то плохо дело, любой поисковик даст тебе пару ссылок на неё!

Ответ отправлен: 01.04.2003, 22:48
Отправитель: Dark_Lord


Отвечает Samodelkin

Доброе время суток, Ярослав!
для восстановления информации на жестких дисках существуют проги
EasyRecovery Pro от ontrack
Lost&Found от PowerQuest
TIRAMISU (SOPHISTICATED DATA RECOVERY)
других полноценных прог чтоб на все случаи не знаю ... из этих трех рекомендую первую - достаточно тщательно анализирует диск на предмет потерянных структур

Ответ отправлен: 01.04.2003, 09:17
Отправитель: Samodelkin


 Вопрос № 2878

Господа эксперты. Я хочу написать свой прокси сервер,подскажите с чего мне начать



Вопрос отправлен: 01.04.2003, 10:11
Отправитель: Asset

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

Отвечает Samodelkin

Приветствую Вас, Asset!
начни с написания простейшиших TCP клиентов,серверов... освоишь программирование сокетов, тогда сочиняй проксю... но перед этим не забудь познакомиться с различными RFC по протоколам которые будешь использовать

Ответ отправлен: 02.04.2003, 11:02
Отправитель: Samodelkin


Отвечает Gibbel

Доброе время суток, Asset!
С изучения протоколов...

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


Отвечает Bob Johnson

Доброе время суток, Asset!
С изучения протоколов HTTP, FTP и PROXY, с изучения работы с Windows Socket.


Ответ отправлен: 01.04.2003, 19:44
Отправитель: Bob Johnson



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

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (34)
C / C++ (25)
Perl (6)
Delphi (16)
Pascal (21)
Basic / VBA (9)
Java / JavaScript (8)
PHP (5)
MySQL / MSSQL (6)
Пользователю
Windows 95/98/Me (32)
Windows NT/2000/XP (24)
"Железо" (29)
Поиск информации (15)
Администратору
Windows NT/2000/XP (11)
Linux / Unix (12)
Юристу
Гражданское право (9)
Семейное право (5)
Трудовое право (5)
КоАП (6)

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




Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru


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

В избранное