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

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


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

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

Выпуск № 600
от 26.07.2003, 19:50

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


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

Tigran K. Kalaidjian
Статус: Профессиональный
Общий рейтинг: 123.61
URL: Методы оптимизации работы ПК
[Подробней >>]
Ayl
Статус: Профессиональный
Общий рейтинг: 118.21
[Подробней >>]
Евгений Иванов
Статус: Опытный
Общий рейтинг: 142.28
URL: Super Assembler Software
[Подробней >>]
 
Hangatyr
Статус: Опытный
Общий рейтинг: 114.54
[Подробней >>]
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 152.27
URL: Программирование
[Подробней >>]
Lynx
Статус: Опытный
Общий рейтинг: 118.23
Телефон: (8442) 750522
[Подробней >>]
 
Broken Sword
Статус: Профессиональный
Общий рейтинг: 121.48
URL: мой сайт
[Подробней >>]
Zedr0n
Статус: Доверительный
Общий рейтинг: 108.63
[Подробней >>]
Gibbel
Статус: Профессиональный
Общий рейтинг: 107.71
URL: Savage Metal Club - жизнь в стиле рок-н-ролл
Телефон: +7 901 710 3146
[Подробней >>]
 
_vt
Статус: Профессиональный
Общий рейтинг: 120.66
[Подробней >>]
baldr
Статус: Профессиональный
Общий рейтинг: 112.04
URL: Сайт об ОС DOS. Всем, кто любит эту ОС!
[Подробней >>]
getoff
Статус: Начальный
Общий рейтинг: 108.82
[Подробней >>]
 
Andrew Vext
Статус: Профессиональный
Общий рейтинг: 105.06
[Подробней >>]


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

Вопрос № 3751. рассссьти)) вы уж извините меня за новящевость, ну как говориться:дорвался)) у меня еще один вопроси... (ответов: 6)
Вопрос № 3752. Здравствуйте, уважаемые эксперты! Вот хочу спросить не занимается ли кто из вас таким извращением, к... (ответов: 3)
Вопрос № 3753. Здравствуйте! Кто может подсказать, где можно найти официальные (легальные)версии ассемблера, и с (С... (ответов: 2)
Вопрос № 3754. Какие есть редакторы для написания программ, которые лучше(удобнее) QEditor(входит в комплект постав... (ответов: 5)
Вопрос № 3755. всем привет! поступило много прозьб скинуть на мыло найденные 256-демки. Их все можно взять на www.2... (ответов: 3)
Вопрос № 3756. всем привет! точки, линии, окружность, элипсы и подобны приметивы рисовать програмным способом на ас... (ответов: 4)
Вопрос № 3758. Здравствуйте! Я не Московский - из Ульяновска! Есть ли у нас официальные представительства каких-ниб... (ответов: 1)
Вопрос № 3759. Здравствуйте, уважаемые эксперты. Как сделать окошко (известен hWnd) полупрозрачным(50%; пример лучш... (ответов: 3)

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


 Вопрос № 3751

рассссьти))
вы уж извините меня за новящевость, ну как говориться:дорвался))
у меня еще один вопросик, может я покажусь тупым, но уж лучше показаться таким, чем быть на самом деле, а??
вопрос опять таки на счет учебника И. Калашникова по ассу
он везде советует везде использовать отладчик, компилируйте мол, и смотрите в отладчике, но что именно смотреть, обьясните мне, а? я вот открываю его и как боран на новые ворота, тыкаю на F1 ну вижу, что регистры изменяются, а толку-то(((...
заранее спасибо!



Вопрос отправлен: 21.07.2003, 18:24
Отправитель: Poma

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

Отвечает Tigran K. Kalaidjian

Добрый день, Poma!
1. Вопрос не может быть тупым, если он задан ради познания.
2. Отладчик позволяет выполнять программу ПОШАГОВО, т.е. следить за результатом выполнения каждой инструкции, что дает возможность пощупать код. Во многих случаях отладчики помогают найти т.н. логические ошибки, за исправление которых не отвечают (и не могут отвечать) компиляторы. Их нахождение всецело лежит на программисте.
Также отладчики холошо помогают при взломе программ.
А вот насчёт толка... Гм... Даже и не знаю. Я, лично, вообще не пользовался отладчиками на заре своей программистской деятельности, прокручивал в голове ход программы - может оно и лучше, но научится работать в отладчике очень полезно - может пригодиться для разработки больших программ.

Ответ отправлен: 21.07.2003, 22:59
Отправитель: Tigran K. Kalaidjian


Отвечает Ayl

Добрый день, Poma!
Во-первых, давай определимся, для чего ты запускаешь отладчик. Вариантов, на мой взгляд, может быть два:
1. Найти ошибку в программе
2. Разобраться, как она вообще работает
Если ты писал на ЯВУ, то скорее всего пользовался стандартными средствами отладки в интегрированной среде - смотрел значения переменных, логику вызовов процедур и функций, состояние стека и т.п. Так на асме тоже самое!
Запускаешь отладчик и смотришь, как выполняется прога. Смотришь состояние регистров, изменение областей памяти, состояние стека.
Что именно - зависит от того, чего ты хочешь достигнуть. Например, я тут недавно написал на асме модуль для рисования окошек в текстовом режиме. В связке с Паскалем. Вроде отладил, все работает. Но стоило мне добавить еще одну процедурку в паскалевский модуль - и прога вылетела с ошибкой. Что делать? Можно тупо смотреть на исходный текст - скорее всего, все равно ошибку не найдешь - глаз замылен да и предположения в голове строишь... Полез в отладчик. Добрался до своей процедуре на асме - смотрю, а у меня запись-то в видеосегмент не идет - забыл установить сегментный регистр! Времени на поимку глюка ушло минут пять.
Как смотреть. На первых порах можно пошагово, проверяя на каждом шаге состояние регистров. Со временем научишься ускорять этот процесс, пользоваться контрольными точками, пропуском циклов, процедур и т.п. Опыт - дело наживное!

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


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

Приветствую Вас, Poma!
Ну если ты не понимаешь, зачем это нужно, тогда лучше и не используй
отладчик!
Может, ты гений-программист!
Иногда даже я сам верчусь по кругу, вот тогда запускаю TD, и всё встаёт на
свои места!


Ответ отправлен: 21.07.2003, 18:56
Отправитель: Евгений Иванов


Отвечает Hangatyr

Доброе время суток, Poma!
Странный вопрос - в том-то и есть смысл отладки - посмотреть, что находится в регистрах/памяти во время исполнения, найти баги и т.д. Если хочешь программировать, то без отладчика никуда...

Ответ отправлен: 21.07.2003, 18:57
Отправитель: Hangatyr


Отвечает Bob Johnson

Добрый день, Poma!
> может я покажусь тупым, но уж лучше показаться таким, чем быть на самом деле, а
С точностью до наоборот - встречают по одежке (помнишь?), а то, туп ли ты на самом деле никто может и не узнать. :)
> но что именно смотреть
Код, который получается. Там можно смотреть, как выполняются команды и как меняются при этом значения переменных и регистров.

* EMan1.5: ---===*** The hell we've created ourselves ***===---


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


Отвечает Lynx

Доброе время суток, Poma!
Ты не туда смотришь. :))) Смотреть надо не на то, что регистры меняются, а на то, как они меняются и что из этого получается. Так же можно смотреть на дамп программы и на то, как изменяется сегмент кода, даных, стека... Но отладчик лучше использовать, тогда когда программа не хочет корректно работать. Тогда надо разобраться как она фунциклирует, найти и пофиксить этот баг. :)))


Ответ отправлен: 25.07.2003, 11:15
Отправитель: Lynx


 Вопрос № 3752

Здравствуйте, уважаемые эксперты!
Вот хочу спросить не занимается ли кто из вас таким извращением, как программирование под
Linux на асме? Да точно знаю, что кто-то занимается ;))) Признавайтесь кто.
Спасибо за внимание.



Вопрос отправлен: 21.07.2003, 19:07
Отправитель: Dr.Lk

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

Отвечает Broken Sword

Здравствуйте, Dr.Lk!
ну я страдал когда то... на сайте есть исходники по IPC (даже по TCP/IP). Кроме того, выкачал когда то все имеющиеся по этому вопросу моменты (таких в нете оказалось поверь мне ну ОЧЕНЬ немного...)

Ответ отправлен: 21.07.2003, 23:24
Отправитель: Broken Sword


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

Приветствую Вас, Dr.Lk!
Я скоро установлю Red Hat Linux 9 и буду обязательно изучать, как
использовать Ассемблер при создании программ для Linux!


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


Отвечает Zedr0n

Доброе время суток, Dr.Lk!
Ну, не такое уж это страшное извращение. По сути дела чистое программирование на асм'е под Linux - это вызов функций 80-го прерывания. Подробнее можно почитать у Зубкова, также материалы есть на www.linuxassemby.org...


Ответ отправлен: 24.07.2003, 11:31
Отправитель: Zedr0n


 Вопрос № 3753

Здравствуйте!
Кто может подсказать, где можно найти официальные (легальные)версии ассемблера, и с (С++) у нас в России?



Вопрос отправлен: 21.07.2003, 22:47
Отправитель: Искатель

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

Отвечает Gibbel

Здравствуйте, Искатель!
В магазинах... ;-)
Вообще, можешь купить лицензионку VS.NET - там и сишка и асм есть... Только последнее в очень скудном количестве.

Ответ отправлен: 22.07.2003, 09:41
Отправитель: Gibbel


Отвечает Hangatyr

Приветствую Вас, Искатель!
Купить у M$, где же еще? В любом другом случае они перестанут быть легальными. Можно еще подписаться на MSDN - туда входят MASM, MSVC, DDK и еще много чего, но все это за деньги, конечно.

Ответ отправлен: 22.07.2003, 06:55
Отправитель: Hangatyr


 Вопрос № 3754

Какие есть редакторы для написания программ, которые лучше(удобнее) QEditor(входит в комплект поставки masm32)?



Вопрос отправлен: 22.07.2003, 07:36
Отправитель: Xych

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

Отвечает _vt

Доброе время суток, Xych!
Лучше всего - встроенный редактор FAR Manager с плагином Colorer4ever!!!

---===*** E-Man 1.4 - waiting for 1.5...***===---


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


Отвечает baldr

Добрый день, Xych!
Я использую TASMED from Sergey Chehuta

Ответ отправлен: 23.07.2003, 14:11
Отправитель: baldr


Отвечает Hangatyr

Добрый день, Xych!
IDE ты имеешь в виду? Их довольно много, надо выбирать, что больше по вкусу. Могу посоветовать RadAsm - очень неплох. Можно использовать также MS DevStudio. Лично я пользуюсь последним вариантом.

Ответ отправлен: 22.07.2003, 07:50
Отправитель: Hangatyr


Отвечает Bob Johnson

Здравствуйте, Xych!
FAR, FAR и еще раз FAR!!! Можно, конечно, заморачиваться с ide, но, в принципе, для асма это не нужно... про то, как компилить файлы см. на моей странице (faq): http://bobjohnson.nm.ru

* EMan1.5: ---===*** The hell we've created ourselves ***===---


Ответ отправлен: 22.07.2003, 13:39
Отправитель: Bob Johnson


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

Здравствуйте, Xych!
Встроенный в FAR! Самый лучший, а при использовании макросов его можно
настроить до невообразимых пределов.


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


 Вопрос № 3755

всем привет!
поступило много прозьб скинуть на мыло
найденные 256-демки.
Их все можно взять на www.256b.com
Или все в одном файле на
http://medevalsoft.by.ru/demo.zip



Вопрос отправлен: 22.07.2003, 09:56
Отправитель: Zensor_ (zasm@mail.ru)

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

Отвечает Ayl

Доброе время суток, Zensor_!
Отправил в рассылку.

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


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

Приветствую Вас, Zensor_!
Бегу скачивать!


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


Отвечает getoff

Здравствуйте, Zensor
СПАСИБО))))

Ответ отправлен: 24.07.2003, 00:53
Отправитель: getoff


 Вопрос № 3756

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



Вопрос отправлен: 22.07.2003, 09:59
Отправитель: Zensor_ (zasm@mail.ru)

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

Отвечает Ayl

Добрый день, Zensor_!
Можно :-) Заменив ее цвет.
Это, на самом деле, полушуточный ответ.
Похоже, ты немного не разобрался в понятиях.
Пусть у нас есть некий графический режим. Допустим, 320*200, 256 цветов.
Что из себя представляет экран? Это множество точек (в конкретном режиме - 64000), имеющих определенный цвет. Каким именно образом кодируется цвет нас сейчас не интересует, главное, что каждой точке приписывается некоторое значение из диапазона 0-255 (1 байт), которое обычно и называют цветом, хотя это и неверно.
На самом деле это число представляет собой индекс регистра палитры. Всего регистров - 256. Каждый регистр содержит информацию о пропорциях красной, синей и зеленой составляющих (RGB).
В результате, если ты изменяешь "цвет" точки (номер регистра палитры), то на экране изменяется только эта единственная точка. Если же ты изменяешь значение регистра палитры, то на экране одновременно изменяют свой цвет все точки, которые имеют этот номер палитры.
Так что изменить палитру только для одной точки можно только при условии, что она будет у тебя одна иметь выбранный номер палитры.
Работа с палитрой допускается только в режимах с количеством цветов не более 256 на адаптерах не хуже EGA. В режимах HiColor и TrueColor пропорции RGB указываются непосредственно при описании точки.


Ответ отправлен: 22.07.2003, 11:12
Отправитель: Ayl


Отвечает Andrew Vext

Приветствую Вас, Zensor_!
палитра существует в 256-цветном режиме и действует для всего изображения в целом. Можно изменить цвет точки, а палитру можно изменить только для вего экрана (при изменении цвета в палитре поменяются все точки с данным цветом).

Ответ отправлен: 22.07.2003, 10:55
Отправитель: Andrew Vext


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

Доброе время суток, Zensor_!
Точка имеет свой цвет или номер, например в 256-цветном режиме код от 0 до
255.
Берёшь и меняешь палитру для этого кода.
Если 16-млн цветов - там нет палитры, там код - это и есть цвет.
4 байта - BGR и 1 байт не используется.


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


Отвечает getoff

Уважамый Zensor_ если я вас правильно понял вы хотите изменить цвет некоторой точки путем работы с палитрой. Такого преобразования сделать нельзя! Если вы измените некоторый цвет в палитре, то все точки окрашенные данным цветом изменяться


Ответ отправлен: 24.07.2003, 00:44
Отправитель: getoff


 Вопрос № 3758

Здравствуйте!
Я не Московский - из Ульяновска!
Есть ли у нас официальные представительства каких-нибудь фирм, где можно было-бы заказать Ассемблер, С++ буилдер, узнать о цене и всё такое? :-)
Заранее спасибо!



Вопрос отправлен: 22.07.2003, 13:34
Отправитель: Искатель

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

Отвечает baldr

Доброе время суток, Искатель!
Как видно из ответов, никто не знает... :(

Ответ отправлен: 23.07.2003, 14:58
Отправитель: baldr


 Вопрос № 3759

Здравствуйте, уважаемые эксперты. Как сделать окошко (известен hWnd) полупрозрачным(50%; пример лучше на MASM32)?



Вопрос отправлен: 22.07.2003, 19:49
Отправитель: PRO (p-r-o@mail.ru)

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

Отвечает Tigran K. Kalaidjian

Здравствуйте, PRO!
Проблема в том, что механизм перерисовки окон в Windows не предусматривает создания полупрозрачных окон, поэтому прийдется идти в обход.
Надо временно убрать наше окно, дождаться перерисовки всех низлежащих, сохранить то место, которое будет закрыто нашим окном, вновь вывести его на экран и отрисовать его с учётом сохранённой картинки(можно затемнять картинку, чтобы была "полупрозрачность", а не "прозрачность").
Пример на Delphi (с коментариями) ушел на мыло. На MASM, ИМХО, несложно будет перевести, главное понять принцип...

Ответ отправлен: 23.07.2003, 10:13
Отправитель: Tigran K. Kalaidjian


Отвечает Bob Johnson

Добрый день, PRO!
1. При создании окна указываешь доп. стиль WS_EX_LAYERED. Если окно уже создано, то изменяешь его доп. стиль так, чтобы был WS_EX_LAYERED (SetWindowLong, кажется или как-то еще). Если он уже был, то изменяешь так, чтобы вначале не было, а потом снова был.
2. Call SetLayeredWindowAttributes, [HWnd], 0, 128, LWA_ALPHA

* EMan1.5: ---===*** The hell we've created ourselves ***===---


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


Отвечает Gibbel

Приветствую Вас, PRO!
Посмотри здесь.

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



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

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

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

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (33)
C / C++ (24)
Perl (4)
Builder / Delphi (19)
Pascal (22)
Basic / VBA (11)
Java / JavaScript (12)
PHP (9)
Криптография (8)
WinAPI (13)
Пользователю
Windows 95/98/Me (47)
Windows NT/2000/XP (42)
"Железо" (39)
Поиск информации (25)
Администратору
Windows NT/2000/XP (24)
Linux / Unix (10)
Юристу
Гражданское право (11)
Семейное право (6)
Трудовое право (9)
КоАП (5)

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




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


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


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

В избранное