Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 757
от 10.08.2004, 07:40
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 5714 Отправлено ответов: 15379 Активность: 269.1 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Dragoon Статус: Опытный Общий рейтинг: 110.29 [Подробней >>] |
Горячев Игорь Статус: Доверительный Общий рейтинг: 119.77 [Подробней >>] |
bocha Статус: Опытный Общий рейтинг: 128.51 [Подробней >>] |
PavPS Статус: Доверительный Общий рейтинг: 120 [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 116.5 [Подробней >>] |
Евгений Иванов Статус: Профессиональный Общий рейтинг: 133.04 URL: Super Assembler Software Телефон: НСС +7 831 3107039 [Подробней >>] |
_vt Статус: Профессиональный Общий рейтинг: 118.26 [Подробней >>] |
SackTap Статус: Доверительный Общий рейтинг: 117.52 [Подробней >>] |
flasher Статус: Доверительный Общий рейтинг: 105.82 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 5667. В прогаммировании я чайник. Хочу освоить АССЕМБЛЕР! Как правильно учиться у г-на Калашникова при пом... (ответов: 3)
Вопрос № 5668. Здравствуйте,уважаемые эксперты!В предыдущей рассылке упоминалось,как залезть в ring-0 через таблицу... (ответов: 1)
Вопрос № 5670. Добрый день! На днях моему проекту, часть из которого посвящена решению задач на Ассемблере, исполня... (ответов: 1)
Вопрос № 5671. Кто-нибудь сталкивался с техническим нормированием? Нужно написать программу по теме, возможно ли эт... (ответов: 1)
Вопрос № 5672. Здравствуйте, уважаемые Эксперты! Спасибо за прошлые ответы. Жду новых ;) Да... ну и много же вопрос... (ответов: 2)
Вопрос № 5673. Здравствуйте, уважаемые Эксперты! В MASM'e есть такая вещь как объединения. Вопрос: 1. Что это за ... (ответов: 3)
Вопрос № 5675. Добрый день, или ночь =)) Хотел бы задать вам неоторый вопрос, который уже ранее обсуждался. Как мож... (ответов: 1)
Вопрос № 5676. У меня не работает метод вывода в видеопамять ... ПРимер ни Зубкова, ни Калашникова, ни мои истезани... (ответов: 5)
Вопрос № 5677. Здравствуйте, уважаемые эксперты. Приведите пожалуйста простой пример записи звука в память с помощь... (ответов: 1)
Вопрос № 5681. Здравстуйте, ув. эксперты. Пользуюсь хэтчевским ассемблером masm32, в командной строке всегда вводил... (ответов: 1)
Вопрос № 5682. Сорри за оффтоп. Давно изучал Asm x86 и немного программировал для ARM. Сейчас читаю вашу рассылку п... (ответов: 2)
Вопрос № 5685. Здраствуйте. Может у кого есть книги в электронном виде Рихтер "Windows для профессионалов: соз... (ответов: 1)
Вопрос № 5687. День добрый! У меня такой вопрос, чем отличается ASSEMBLER от C++ для написания вирусов и их лечения... (ответов: 2)
Вопрос № 5688. Я давно хотел разобраться с защищенным режимом. Где можно найти путевую доку по защищенному режиму н... (ответов: 1)
Вопросов: 14, ответов: 25
Вопрос № 5667 |
В прогаммировании я чайник. Хочу освоить АССЕМБЛЕР! Как правильно учиться у г-на Калашникова при помощи его книги и примеров? Я не могу ассемблировать его прогой! Help! Есть ли альтернатива? Выражайтесь проще, кроме графики в Бейсике я ничего не знаю! ;-(.
Вопрос отправлен: 31.07.2004, 19:53
Отправитель: Артёмов Алексей (aartmov@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Dragoon
Добрый день, Артёмов Алексей!
Послушай совета - изучи Pascal(Delphi) или C(C++).
C асма лучше не начинать....
А в книге Калашникова все очень подробно описано, и как компилировать, и как линковать. Посмотри первые страницы
Ответ отправлен: 02.08.2004, 19:45
Отправитель: Dragoon
Отвечает Горячев Игорь
Здравствуйте, Артёмов Алексей!
Альтернатива: MASM32, FASM - у обоих интуитивный интерфейс.
посети http://wasm.ru
Ответ отправлен: 02.08.2004, 23:42
Отправитель: Горячев Игорь
Отвечает bocha
Добрый день, Артёмов Алексей!
Что неможешь, чем не можешь, а главное КАК не можешь (что пишешь, какие ошибки выдает ассемблер, линкер)?
Ответ отправлен: 01.08.2004, 00:12
Отправитель: bocha
Вопрос № 5668 |
Здравствуйте,уважаемые эксперты!В предыдущей рассылке упоминалось,как залезть в ring-0 через таблицу
прерываний.Приводился пример(навсякий случай ещё раз его процитирую в приложении).Там мне некоторые части непонятны:
>add edx,(Interrupt*8)+4 ; Получаем вектоp пpеpываний
Я со структурой IDT не знаком,но вычитал,что элемент таблицы равен 8 байт.Поэтому и масштабирование
такое(Interrupt*8)?И ведь вместо Interrupt подставится 01h?почему?
>mov ebx,[edx]
>mov bx,word ptr [edx-4]
Тут сохраняем старый дескриптор,как я понял.Непонятно,зачем ещё потом в bx что-то пихать?
>mov [edx-4],di
>ror edi,16 ; Пеpемещаем MSW в LSW
>mov [edx+2],di
Тут ставим свой обработчик.
>mov [edx-4],bx ; Восстанавливаем стаpый обpаботчик
>ror ebx,16 ; ROR, SHR, SAR... кого это заботит?
>mov [edx+2],bx
Тут тоже не очень с восстановлением понятно.Объясните,пожалуйста,зачем тут сдвиговая адресация?
Надеюсь,я более-менее внятн о изложил вопрос.Заранее спасибо за ответы!
Приложение:
Вопрос отправлен: 01.08.2004, 02:47
Отправитель: gnev_makaki
[Следующий вопрос >>] [Список вопросов]
Отвечает PavPS
Здравствуйте, gnev_makaki!
Сам пробывал этот способ. На XP на память в которую Ты будешь писать адрес на обработчик этого вектора, "наклеяна" защита и Ты получишь STSTUS_ACCESS_VOLATION & BSOD(#GP)
Не парься - пиши драйвер! А по-поводу смешений бит поищи то, как астроена IDT и сразу всё поймешь (а лучше глянь GDT - и Ты поймешь, что в IDT еще порядок... :-) )
Ответ отправлен: 03.08.2004, 01:56
Отправитель: PavPS
Вопрос № 5670 |
Добрый день!
На днях моему проекту, часть из которого посвящена решению задач на Ассемблере, исполняется 1 год. Вследствие чего, хотелось бы как-нибудь разнообразить задачи и увеличить количество участников.
Если Вас это заинтересовало, то подписаться на задачи можно здесь: http://subscribe.ru/catalog/comp.soft.prog.asmtasks,
главная страница Задач здесь: http://www.codeclimber.com/cgi-bin/asmtasks.cgi.
Для того, чтобы отправлять решения нужна регистрация, она расположена здесь: http://www.codeclimber.com/cgi-bin/register.cgi. Как только Вам придет пароль, Вы сможете посылать решения со своего аккаунта на сайте.
Движок Задач сделан таким образом, что при поступлении нового решения его размер и имя его автора сразу попадают в таблицу участников текущей задачи. Таким образом, любой участник может прислать более оптимизированное решение, если узнает, что кто-то решил задачу более оптимизированно.
Вам предлагается поучаствова ть в COMPO #40:
==========
Ваша программа должна установить графическое разрешение экрана 320х200 (режим 13h), нарисовать картинку, дождаться нажатия любой клавиши и завершить свое выполнение, вернув экрану текстовое разрешение (режим 03h).
Рисунок должен занять весь экран - 64000 точек.
Алгоритм рисования. Программа обрабатывает все точки экрана c координатами X (от 0 до 320) и Y (от 0 до 200) и меняет их цвет. Цвет точки с координатами (X;Y) вычисляется по формуле (X^2 - Y^2) div 2. На Basic этот алгоритм мог быть реализован так:
For X = 0 To 320
For Y = 0 To 200
PSet (X, Y), ((X * X - Y * Y) 2)
Next
Next
! Так как режим 13h поддерживает только 256 цветов, то реальный цвет точки будет равен младшему байту регистра или переменной, которую Вы использовали для вычислений.
! Нельзя модифицировать предложенный алгоритм (нельзя например, размножать часть картинки по экрану и пр.)
! Программа не работает с командной строкой, поэт ому можно считать AX=BX=0.
! Увидеть картинку, которую Вы должны получить, уточнить условие задачи, можно здесь: http://www.codeclimber.com/cgi-bin/forum.cgi?t=20.
! Размер моего решения - 48 байт.
==========
PS. Посылать сюда решения не нужно.
PPS. Экспертам: пошлите в рассылку, может быть кто-нибудь из подписчиков заинтересуется.
Вопрос отправлен: 01.08.2004, 11:28
Отправитель: Igoryk
[Следующий вопрос >>] [Список вопросов]
Отвечает Ayl
Здравствуйте, Igoryk!
Посылаю...
Ответ отправлен: 02.08.2004, 14:03
Отправитель: Ayl
Вопрос № 5671 |
Кто-нибудь сталкивался с техническим нормированием?
Нужно написать программу по теме, возможно ли это?
Вопрос отправлен: 02.08.2004, 10:53
Отправитель: 1
[Следующий вопрос >>] [Список вопросов]
Отвечает Dragoon
Приветствую Вас, 1!
С чем???!!
Ответ отправлен: 02.08.2004, 19:46
Отправитель: Dragoon
Вопрос № 5672 |
Здравствуйте, уважаемые Эксперты!
Спасибо за прошлые ответы. Жду новых ;)
Да... ну и много же вопросов у меня накопилось... :)
1) Как сделать так, чтобы окно "прилипало" к краям других окон, экрана... Или это слишком трудно.
2) Можно ли как-нить прооптимизировать этот код (см. приложение) В общем, я хочу в MainWinClass.hInstance и в ButtonWinClass.hInstance внести значение hInst. Все переменные лежат в .data и .data?
3) Как в MASM сделать секцию .code записываемой? (ну, чтобы туда можно было что-нибудь писать, а то у меня ошибка вылетает :( )
4) Как сделать так, чтобы окошки получали фокус при нажатии кнопочки TAB? При создании окна видел стили WS_TABSTOP и WS_GROUP они вообще работают?
5) Можно маленький пример использования SetWindowRgn. Чтобы, например, окошко было кругленькое :) А то я уже второй раз систему подвешиваю... :(
Всего хорошего. UKY.
Приложение:
Вопрос отправлен: 02.08.2004, 18:22
Отправитель: UKY
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
3. Исполняемый сегмент данных не может быть записываемым. Только исполнение и, если разрешено, чтение.
4. SetFocus
Удачи.
* EMan: -=- И легко перо, да на крышу не закинешь. =-=
Ответ отправлен: 03.08.2004, 17:18
Отправитель: Евгений Иванов
Отвечает _vt
Здравствуйте, UKY!
3) Вообще это сделать можно (надо подправить заголовок, либо в некоторых ассемблерах есть спец. директива), но не рекомендуется. На 64-разрядных процессорах запись в сегмент кода запрещена на аппаратном уровне, в целях безопасности.
* Origin : Life begins at 1000Mhz!
Ответ отправлен: 04.08.2004, 01:37
Отправитель: _vt
Вопрос № 5673 |
Здравствуйте, уважаемые Эксперты!
В MASM'e есть такая вещь как объединения.
Вопрос:
1. Что это за дрянь такая?
2. Есть ли нечто аналогичное в иных компиляторах (FASM,NASM)?
3. Как сэмулировать объединения стандартным набором команд (если такое возможно)?
Вопрос отправлен: 03.08.2004, 00:34
Отправитель: Igor
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
UNION.
удобная вещица.
данные разных типов будут располагаться по одному и тому же адресу.
* EMan: -=- И легко перо, да на крышу не закинешь. =-=
Ответ отправлен: 03.08.2004, 17:19
Отправитель: Евгений Иванов
Отвечает PavPS
Добрый день, Igor!
То, что и в "C". Для того чтобы понять - читай в любой книге по С. Там будет написано точно, и очень доходчиво. Свои комментарии по этой теме при вышеописанном обилии инфы считаю излишними, кроме обного: "это гениальная вешь, которая официально позволяет ввести безвластие типов"
Ответ отправлен: 03.08.2004, 02:05
Отправитель: PavPS
Отвечает Горячев Игорь
Добрый день, Igor!
1. Дрянь это очень полезная, т.к. позволяет держать в области памяти значение, соответствующее разным типам данных.
2. Знаю что в FASM такого нет. А жаль...
3. Можно конечно, но это долго, нудно... Оно тебе надо? Бери MASM и не напрягайся.
Ответ отправлен: 04.08.2004, 00:48
Отправитель: Горячев Игорь
Вопрос № 5675 |
Добрый день, или ночь =))
Хотел бы задать вам неоторый вопрос, который уже ранее обсуждался. Как можно поменять состояние индикации клавиатуры? Ну там Нум Лок, Капс Лок и т.д. В PC есть два байта флагов клавиатуры по адресам 40:17h и 40:18h. Структуру байтов этих знаю... Пробовал пример Зубкова, чтобы скидывать всю индикацию, не пашет....... Че это может быть? Пример Зубкова в приложении...
Пробовал и записывать напрямик...
mov ax,040h
mov ds,ax
mov ax,01110000b
mov ds:[0017h],ax ;кстати, зачем скобки тут?
И еще.. как записывать-считывать в/с определенную область памяти, вроде там по адресу 054:044 ?
Приложение:
Вопрос отправлен: 03.08.2004, 16:07
Отправитель: Andruew (andruew@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает SackTap
Приветствую Вас, Andruew!
если под хр то не запашет. т.к. in и out привелегированные команды.
Ответ отправлен: 03.08.2004, 17:26
Отправитель: SackTap
Вопрос № 5676 |
У меня не работает метод вывода в видеопамять ... ПРимер ни Зубкова, ни Калашникова, ни мои истезания не работают. Подскажите, в чем может быть дело?
Вопрос отправлен: 03.08.2004, 17:03
Отправитель: Andruew
[Следующий вопрос >>] [Список вопросов]
Отвечает Ayl
Здравствуйте, Andruew!
Ну и как на это отвечать? У меня тоже много чего не работает, не подскажешь, в чем дело?
Уточни вопрос. Интересуют следующие вещи:
1. ОС, на которой это должно работать (DOS, Win)
2. ОС, установленная на компе (чистый DOS, Win определенной версии)
3. Режим, в котором пытаешься выводить (тестовый/графический, для графического указать разрешение и номер режима)
4. Желательно код программы, которая не работает.
Ответ отправлен: 03.08.2004, 18:38
Отправитель: Ayl
Отвечает SackTap
Приветствую Вас, Andruew!
Вы бы пример приложили.. а то так не понятно в чем дело. ;)
я бы посоветовал пиобрести книжку Кулакова - программиование на аппаратном уровне. 850 стр. офигенная книга, там и про видеопамять вплоть до 1024х768х32bpp в реальном режиме и про usb, pci, ps/2 mouse и прочее. вобщем полезная книга.
а вобщем в инете где-то видел исходники с этой книги..
Ответ отправлен: 03.08.2004, 17:31
Отправитель: SackTap
Отвечает Горячев Игорь
Приветствую Вас, Andruew!
А что имеенно у Вас не работает? Покажите исходник...
Ответ отправлен: 04.08.2004, 00:44
Отправитель: Горячев Игорь
Отвечает Dragoon
Приветствую Вас, Andruew!
У обоих нормальные примеры.
Пришли исходник свей проги.
Ответ отправлен: 04.08.2004, 01:09
Отправитель: Dragoon
Отвечает _vt
Добрый день, Andruew!
В начале кода поставь
mov ax,3
int 10h
* Origin : Life begins at 1000Mhz!
Ответ отправлен: 04.08.2004, 01:37
Отправитель: _vt
Вопрос № 5677 |
Здравствуйте, уважаемые эксперты.
Приведите пожалуйста простой пример записи звука в память
с помощью функций API для MASM32
Вопрос отправлен: 03.08.2004, 18:59
Отправитель: kuran
[Следующий вопрос >>] [Список вопросов]
Отвечает Dragoon
Приветствую Вас, kuran!
Звука в память???
Ответ отправлен: 04.08.2004, 01:10
Отправитель: Dragoon
Вопрос № 5681 |
Здравстуйте, ув. эксперты.
Пользуюсь хэтчевским ассемблером masm32, в командной строке всегда вводил:
ml /c /coff /Cp filename.asm
link /subsystem: windows filename.obj
И всегда все было нормально (если не было ошибок в исходнике), но недавно при компиляции программ стало появляться такое сообщение (независимо есть ли в моем приложении окно или нет):
LINK: warning LNK4089: all references to "GDI32.dll" discarded by /OPT:REF
причем файлы obj и exe создаются и exe нормально работает.
В исходнике ни одной функции из "GDI32.dll" и он вообще не подключается.
Объясните пожалуйста причину появления этого сообщения.
Вопрос отправлен: 04.08.2004, 16:37
Отправитель: V
[Следующий вопрос >>] [Список вопросов]
Отвечает PavPS
Доброе время суток, V!
Это когда у Тя в экспортах написано
EXTERN GetWindowDC@4 : NEAR
Includelib ...GDI.LIB
А код твой это просто:
Start:
nop
ret
Т.е. никаких вызывов к экспортируемой ф-ии, вот асм и орёт на тебя, что зафиг я буду создавать в таблице експорта вхождения для GDI, if ты её даже не используешь в коде!
Ответ отправлен: 04.08.2004, 19:58
Отправитель: PavPS
Вопрос № 5682 |
Сорри за оффтоп.
Давно изучал Asm x86 и немного программировал для ARM. Сейчас читаю вашу рассылку постоянно, прикалываюсь =), даже понимаю кое-что =). Ткните в путь, как бы восстановить знания по асму? Линки на книги, или где есть практикум?
Приложение:
Вопрос отправлен: 05.08.2004, 02:00
Отправитель: Randall (randy@newmail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает flasher
Приветствую Вас, Randall!
wasm.ru- рулит ;)
Ответ отправлен: 05.08.2004, 14:09
Отправитель: flasher
Отвечает SackTap
Добрый день, Randall!
да хотя бы
http://kalashnikoff.ru
Ответ отправлен: 05.08.2004, 10:37
Отправитель: SackTap
Вопрос № 5685 |
Здраствуйте.
Может у кого есть книги в электронном виде Рихтер
"Windows для профессионалов: создание эффективных Win32 приложений" и Windows 2000 изнутри(на русском).Скиньте мне на мейл(или линк дайте)
Вопрос отправлен: 05.08.2004, 15:19
Отправитель: korsar (korsar01@yandex.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает _vt
Здравствуйте, korsar!
Рихтер есть здесь.
* Origin : Life begins at 1000Mhz!
Ответ отправлен: 06.08.2004, 21:49
Отправитель: _vt
Вопрос № 5687 |
День добрый! У меня такой вопрос, чем отличается ASSEMBLER от C++ для написания вирусов и их лечения.
Вопрос отправлен: 06.08.2004, 05:28
Отправитель: Светлана
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Здравствуйте, Светлана!
Типами данных. В Ассемблере типы данных под твоим управлением.
В С++ за тебя думает компилятор.
* EMan: -=- И легко перо, да на крышу не закинешь. =-=
Ответ отправлен: 06.08.2004, 13:40
Отправитель: Евгений Иванов
Отвечает Горячев Игорь
Добрый день, Светлана!
Ничем в идеологическом плане, всем в реализации. Assembler и C++ разные языки, в них разные языковые конструкции, след. и программы пишутся по-разному. Но алгоритмы-то везде одинаковые. Правда Asm дает более эффективный инструментарий при вирусописательских извратах, но это совершенно не принципиально при написании антивирусов.
Ответ отправлен: 07.08.2004, 23:25
Отправитель: Горячев Игорь
Вопрос № 5688 |
Я давно хотел разобраться с защищенным режимом. Где можно найти путевую доку по защищенному режиму на TASM.
Вопрос отправлен: 06.08.2004, 07:35
Отправитель: Dark (Crazy_Dark@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Горячев Игорь
Здравствуйте, Dark!
http://wasm.ru
Ответ отправлен: 07.08.2004, 23:26
Отправитель: Горячев Игорь
Форма отправки вопроса |
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
(C) 2002-2003 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (23) C / C++ (13) Perl (7) Builder / Delphi (15) Pascal (22) Basic / VBA (6) Java / JavaScript (8) PHP (17) Криптография (8) WinAPI (11) Радиоэлектроника (11) |
Пользователю Windows 95/98/Me (46) Windows NT/2000/XP (61) "Железо" (45) Поиск информации (15) |
Администратору Windows NT/2000/XP (37) Linux / Unix (21) |
Юристу Гражданское право (9) Семейное право (6) Трудовое право (8) КоАП (5) |
Отправить вопрос всем экспертам выбранной рассылки.
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.
http://subscribe.ru/
http://subscribe.ru/feedback/ |
Адрес подписки |
Отписаться |
В избранное | ||