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

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


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

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

Выпуск № 315
от 12.07.2002, 02:20

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


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

Monkey_Logic
Статус: Доверительный
Общий рейтинг: 156.62
[Подробней >>]
masquer
Статус: Профессиональный
Общий рейтинг: 160.62
[Подробней >>]
Broken Sword
Статус: Профессиональный
Общий рейтинг: 142.33
[Подробней >>]
 
Александр
Статус: Опытный
Общий рейтинг: 115.07
[Подробней >>]
baldr
Статус: Профессиональный
Общий рейтинг: 119.36
URL: Сайт об ОС DOS. Всем, кто любит эту ОС!
[Подробней >>]
kvINT
Статус: Опытный
Общий рейтинг: 113.49
[Подробней >>]
 
Sensey
Статус: Профессиональный
Общий рейтинг: 138.82
Телефон: +38 (0572) 41-76-04 дом.
[Подробней >>]
Alex
Статус: Опытный
Общий рейтинг: 113.14
URL: За здравие замолвите словечко и БУДЬТЕ ЗДОРОВЫ!
Телефон: (0332) 77-08-56
[Подробней >>]
veei
Статус: Начальный
Общий рейтинг: 119.35
[Подробней >>]
 
igorash
Статус: Опытный
Общий рейтинг: 121.34
[Подробней >>]
Gibbel
Статус: Опытный
Общий рейтинг: 108.92
URL: Страничка обо мне и моих друзьях
[Подробней >>]
наСИльник
Статус: Профессиональный
Общий рейтинг: 137.74
URL: "Железо"
[Подробней >>]
 
Zloy
Статус: Опытный
Общий рейтинг: 105.67
URL: The полный отстой
[Подробней >>]
Spike
Статус: Доверительный
Общий рейтинг: 121.3
[Подробней >>]


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

Вопрос № 670. Некоторые интэловские интегрированные видеокарты не поддерживают функции VideoBIOS, в т.ч. установку... (ответов: 4)
Вопрос № 671. Уважаемый masquer. Если Вас не убедил предыдущий пример, попробую сформулировать еще (последний раз,... (ответов: 4)
Вопрос № 672. Здрасте,эксперты! Мож завалялась у кого инфа по Ntfs?(устройство этой файловой системы). Тут с ребят... (ответов: 2)
Вопрос № 673. Здравствуйте, эксперты! Уточнение к вопросу №668. Ошибся немного, исключение это, а точнее - ошибка ... (ответов: 3)
Вопрос № 674. Господа эксперты помогите пожалуйста: вот загрузчик к ОС и некий второй сектор. При загрузке функция... (ответов: 1)
Вопрос № 675. Здравствуйте, Broken Sword. Спасибо за ответы! Мне конкретно из принципа приспичило!!!:))) Т.е. если... (ответов: 1)
Вопрос № 676. Здравствуйте, эксперты! Даже и не знаю куда отправлять подобный вопрос! Суть проблемы в том, что ест... (ответов: 2)
Вопрос № 677. Привет всем! ВОПРОС: 1) Чего нельзя сделать на С++, а можно на АСМе? 2) Стоит ли изучать АСМ нынешни... (ответов: 11)
Вопрос № 680. Уважаемые эксперты! Я начал изучать программирование на асме дошел до 8 выпускаи такой вопрос не мог... (ответов: 7)

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


 Вопрос № 670

Некоторые интэловские интегрированные видеокарты не поддерживают функции VideoBIOS, в т.ч. установку видеорежима через int 10h. Что делать?



Вопрос отправлен: 07.07.2002, 08:51
Отправитель: Сергей

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

Отвечает Monkey_Logic

Здравствуйте, Сергей!
Не сталкивался с такой ситуацией. Но на www.intel.com должна быть какая то информация

Ответ отправлен: 08.07.2002, 04:50
Отправитель: Monkey_Logic


Отвечает masquer

Добрый день, Сергей!
Ну и что можно сделать - меняй карту, если не поддерживает

Ответ отправлен: 07.07.2002, 09:28
Отправитель: masquer


Отвечает Broken Sword

Доброе время суток, Сергей!
Если через VGA BIOS не получается (что очень странно), то остается единственная альтернатива - VESA BIOS (в AH лежит 4Fh, в AL - номер ф-ции, естественно, по номерам с VGA не совпадет).
Вообще залезь на www.vesa.org и погляди что к чему

Ответ отправлен: 07.07.2002, 10:10
Отправитель: Broken Sword


Отвечает Александр

Добрый день, Сергей!
Твоя неправда. Они просто обязаны поддерживать режимы до 13h. Если бы этого не было, то материнская плата просто бы негодующе пищала. А вот поддержка VBE может быть и не реализована в полной мере. Прогони хотя бы SiSoft Sandra, чтобы это уточнить. Там достаточно подробно живописуются возможности видеокарты. Если нет, то попытайся найти свежую прошивку для BIOS'а или драйвер, который бы всё должным образом эмулировал.


Ответ отправлен: 09.07.2002, 18:09
Отправитель: Александр


 Вопрос № 671

Уважаемый masquer.
Если Вас не убедил предыдущий пример, попробую сформулировать еще (последний раз, если не возражаете):
Представьте разработанный вами СУБД или просто библиотека работы с файлами. Переменных (контекст устройства) достаточно много – это и хэндлы открытых файлов, смещения ввода-вывода, буфера чтения-записи и многое другое. Затем представьте, что в программном модуле имеются два независимых (в логическом смысле) участка кода, которые используют данную библиотеку для выполнения своих подзадач. Неужели Вы хотите сказать, что все это будет работать. Обе подзадачи выполнили операцию инициализации, открытия файлов, операцию смещения , или поиска, спозиционировали указатель ввода вывода, осуществили чтение или запись. Вы представляете какая каша будет? Единственным выходом является организация данных для работы с файловым вводом выводом индивидуально для каждого процесса, причем каждый процесс не обязан знать о внутренней структуре этих данных. Т.е. именно библиотека ввода-вывода должна самостоятельно «порождать» данные для каждого процесса и по требованию процесса. Но это уже ООП.
Затем, уважаемые господа, откуда мнение что объектный код будет больше или содержать «мусор»? Если писать на языках высокого уровня то так и будет, но это имеет место и для программирования без использования ООП. Я смею утверждать, что, код написанный на ассемблере с использованием ООП будет не больше (а зачастую даже меньше), чем аналогичный код с использованием только принципа модульности.
По поводу «напиши любую программу…» Уважаемые господа, наверное более 10 лет я писал только на asm (по крайней мере предпочитал именно этот язык) и только с использованием ООП. Затем был период зарабатывания денег (сами понимаете не до asm), сейчас ассемблер это просто увлечение. Но исходники остались. Имеются исходники по:
Работа с графикой (либо на экран, либо на принтер, причем печать по прерыванию принтера)
Свои СУБД. Причем методик индексирования несколько – двоичные деревья, B деревья. Пользователь может также добавлять любые свои. Индексируемыми объектами могут быть любые объекты – строки, числа, цвета, ассоциативные категории и т.д. Причем соотношения между ними могут быть очень сложными, и динамически меняться во время работы программы.
Есть объекты типа КЭШ (СУБД его активно использует). Причем от того, куда осуществляется вывод не зависит ни модуль. В качестве вывода могут использоваться логические диски, участки оперативной памяти и т.д. В общем написано достаточно много.
Мне жаль, что у Вас такое мнение по отношению к ООП.
С Уважением, Виктор.
P.S. Весь год я следил за рассылкой. Сейчас мы ждем оборудование RadioEthernet, и начинаем монтаж. Ничего в голову не лезет поэтому решил написать несколько строк. Оборудование приходит в середине недели, обязуюсь сразу отписаться от подписки и перестать надоедать своими измышлениями (как когда-то говорил мой преподаватель - доморощенными).



Вопрос отправлен: 07.07.2002, 11:38
Отправитель: Виктор (sfkvant@tuapse.ru)

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

Отвечает Broken Sword

Уважаемый Виктор!
Дело в том, что я давно за вами наблюдаю ) - так вот, вы меня, конечно, извините, но чего вы, собственно говоря, хотите?
Почему я буду писать в объектах на асме, если тоже самое на С займет в N раз меньше времени и сил? Чего, спрашивается, ради? Ради экономии пары килобайт?
С ООП я впервые познакомился на втором курсе универа и... благополучно забыл. Ну не нравится мне собирать конструктор Лего!
Помню, я почему то не посещал ликции по ООП вообще, потом пришел на контрольную в конце года, думал, ну все, завал! Рядом штрих сидел, я смотрю - задания то все на одно лицо! Только у него кораблики а у меня машинки. И методы конечно разные. Ну заменил все ship на car - все, сдал!
Да, офигенно удобно, настолько просто, что даже ребенок со второго раза въедет, но я не вижу там чего то такого... этакого! что видно невооруженным взглядом в асме.
Вот написание собственно методов - да, это программирование. А все что стоит выше - обыкновенный конструктор, с точки зрения программирования, как искусства, не представляет абсолютно никакой ценности, являет собой в конечном итоге обыкновенные шаблоны.
В ООП нет никакого раздолья для полета мысли (насколько я знаком с ООП, изначально и было задумано все именно для этого), никакая творческая идейка не проскользнет - поэтому все просто и быстро...
Это и поставило окончательную точку в моих измышлениях по поводу.
Конечно, СУБД на асме никто писать не собирается, здесь никто не спорит (для создания СУБД вообще не нужны никакие творческие идеи :).
Короче говоря, в ООП нет и никогда не будет того, что меня привлекло в асм, и это мое личное мнение.
И вообще, видите что в фразе выше что то не вяжется? Да, безусловно, это даже не сравнимые понятия...
А от рассылки отписываться совсем не обязательно - чего, спрашивается, ради? Кончено, это всегда ваше личное дело, может здесь действительно вас здесь никто не понял, но где нибудь, уверяю, вас обязательно примут и поймут :)
p.s. жаль терять из состава подписчиков таких людей как вы.

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


Отвечает masquer

Приветствую Вас, Виктор!
Нет, не возражаю. В конце-концов каждый делает так, как ему удобней. Хотя я СУБД не разрабатывал, но сложными и громоздкими проектами на асме занимался, и никаких проблем не испытывал.
Для примера, что не я один такой, программы для Вин 3.хх разрабатывались, в основном, на чистом С, который не является ОО, и ничего, и СУБД писали, и графические пакеты на нем. Так что.
Я, наверное, немного не понял фразу "Пользователь может также добавлять любые свои" - т.е. пользователь может добавлять свои методики индексирования??? Хотел бы я быть таким пользователем :)))
Резюме - я остаюсь при своем мнении

Ответ отправлен: 07.07.2002, 13:56
Отправитель: masquer


Отвечает Monkey_Logic

Приветствую Вас, Виктор!
Вся причина в том, имхо, что ООП не так распространнено среди программистов
на ассемблере, как модульное программирование. Тут можно провести пример.
Если вам к примеру, вам покажут новую ОС, которая на порядок выше по параметрам
и прочим характеристикам Windows, станете ли вы переучиваться для использования
другой ОС. Думаю что нет. Так и с ООП. Программист привык к технологии
модульного программирования, и вряд ли станет использовать что то другое,
так как это ему удобно.
Если хотите знать, моё отношение к ООП такое - необходимо, но при разработке
крупных проектов. А так как я использую ассемблер, как вспомогательный язык,
то ООП в нём - излишне.
ЗЫ: Отписываться или нет - это ваше право. НО помоему, лучше пофилосовствовать
с опытным читателем, чем получить в 10 раз вопрос из
серии "У меня не работает SoftIce"

Ответ отправлен: 08.07.2002, 04:52
Отправитель: Monkey_Logic


Отвечает baldr

Здравствуйте, Виктор!
Если Вы хотите общаться только с одним экспертом, то пишите ему по e-mail или, в крайнем случае,
задавайте личный вопрос...
А что касается ООП на Асм - я терпел, но скажу. Это стоит применять, только если технология
уже досконально известна и человек, пишущий такие программы достаточно опытен. Иначе малейшая
ошибка может привести к глобальным сбоям. Абсолютно согласен, что есть такие условия, где это
применять целесообразнее, однако, боюсь, хороших специалистов очень мало.
Конечно, отписываться от рассылки или нет - это Ваше дело, но если Вы и в самом деле так хорошо
знаете Ассемблер - то я приглашаю Вас как минимум, в качестве эксперта в эту рассылку. Впрочем,
с такими знаниями Вам бы неплохо и собственную рассылку организовать! "ООП в Ассемблер" - это
звучит круто! :) Обещаю быть одним из первых подписчиков!
А всех остальных прошу не забывать, что Ассемблер существует не только для процессоров x86 и
если есть какое-то необычное оборудование и необходимо решить на нем неординарную задачу или
организовать сложный алгоритм, то разработка специальной ОС и адаптация для нее ЯВУ - это более
сложная задача, чем реализация тех же деревьев на Ассемблере!
Если кто-то не согласен - обсуждаем в рассылке.


Ответ отправлен: 08.07.2002, 00:45
Отправитель: baldr


 Вопрос № 672

Здрасте,эксперты! Мож завалялась у кого инфа по Ntfs?(устройство этой файловой системы). Тут с ребятами Ось пишем(многозадачную с графическим интерфейсом) , а с инфой большой напряг.Мож и рекомендации как и с чего начать. Живём в глухой деревне и Инет на 14400.
Не надо только меня парить и грузить как это сложно. Типа Dosa Писали(однозадачная с командной строкой). А тут наверняка несколько другой подход нужен. про команды этого режима писать не надо.
Если знаете где такая инфа лежит-Дайте линк пожалуйста.
С уважением, Big bR0TheR.



Вопрос отправлен: 07.07.2002, 13:28
Отправитель: Big bR0TheR (legion@programist.ru)

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

Отвечает masquer

Добрый день, Big bR0TheR!
Точный линк не скажу, но было что-то обзорное на ixbt.com. На winternals.com была прога для чтения раздела NTFS, дизассемблируйте и вперед.
P.S. Что-то все операционками увлеклись

Ответ отправлен: 07.07.2002, 14:08
Отправитель: masquer


Отвечает Monkey_Logic

Приветствую Вас, Big bR0TheR!
По поводу NTFS, это тебе к MSDN'у (www.microsoft.commsdn)
надо обращаться, у вас в деревне знают что это такое?
В следующий раз, когда будешь задавать вопрос, помни - тут люди общаются на нормальном русском языке, а не на вашем - скотском.
Без уважения, Monkey_Logic.

Ответ отправлен: 08.07.2002, 04:52
Отправитель: Monkey_Logic


 Вопрос № 673

Здравствуйте, эксперты!
Уточнение к вопросу №668. Ошибся немного, исключение это, а точнее - ошибка деления на ноль. Но вопрос тот же, как узнать какой длины команда, чтоб возратится на следующую за ней, и как правильно это сделать.
P.S.:2Broken Sword - согласен, что это можно сделать(недопустить повоторения ошибки). Но меня интересует как правильно передать управление обратно программе, чтоб не получить зацикливания, т.е. на следующую, за ошибочной команду.
2Monkey_Logic - да я ошибся, написав "прерывания" вместо "исключения". Но я же уточнял, что "ОШИБКИ", а при возникновении данного исключения управление из обработчика по IRET передается той же команде, которая его вызвала!!! Все что вы написали мне известно и это не ответ.
С уважением, ILYA D.



Вопрос отправлен: 07.07.2002, 13:26
Отправитель: ILYA D.

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

Отвечает Broken Sword

Добрый день, ILYA D.!
Я не знаю, как дословно перевести (это кусок из официального мануала), но - The return address (saved contents of the CS and EIP registers) for the fault handler points to the faulting instruction, rather the instruction following the faulting instruction. Понимаешь ? RATHER!
Ну скажи, ну зачем оно тебе нада ? :) еще раз - если правильно исправишь ошибку, никакого зацикливания не будет. А иначе, КАКОЙ ВООБЩЕ ТОГДА СМЫСЛ В ИСКЛЮЧЕНИЯХ ТИПА ОШИБКИ ? Т.е. получается картина - возникает ошибка, потом в хендлере не важно совершенно - исправил ты ее или не исправил, программа пойдет дальше скакать, на интеле зря трудились, ты это хочешь сказать?
Или вот, самая распространенная ошибка такого типа - #PF (page fault) (отсутствует страница в памяти) вот обработчик и призван ее туда подгрузить, а потом опять выполнить ту инструкцию, которая вызвала этот самый #PF, С ТЕМ, ЧТОБЫ ПРОВЕРИТЬ В КОНЦЕ КОНЦОВ, ЧЕМ ВООБЩЕ ПРОГРАММИСТ ТАМ ЗАНИМАЕТСЯ )). Представляешь, что будет если ты ее в хендлере не подгрузишь и пойдешь скакать по коду дальше?
Ладно, тебе нужно конкретно только насчет #DE (divide error exeption)
Если тебе надо из принципа на следующую инструкцию :) -
конечно же, на следующую иснтрукцию мы вернутся можем, все в наших руках
А картина такова: в стеке лежит (из того что нам нада) CS и EIP.
#DE может возникнуть только после двух команд: DIV и IDIV. И больше никогда.
Эти две инструкции могут занимать только 2,3,4,5,6,7 или 8 байт. (6 байт на случай с переопределением сегмента, 7 байт - с префиксом LOCK, 8 байт - это вообще извращение вида rep lock div dword ptr es:[1234]). Другого не дано. Но учесть, естественно, нада все варианты
Теперь, все что нам нужно - сколько же именно байт занимает вызвавшая DE инструкция?
Для начала нужно отмести все префиксы, потом по второму байту после F6 (F7) можно уже судить и о размере всей инструкции в целом....
ой, я тебя умоляю... :)
Кстати, нашел еще и такую вещь:
The exception or interrupt handler can be placed in a conforming code segment. This technique can be used for handlers that only need to access data available on the stack (for example, divide error exceptions) (!!!!). If the handler needs data from a data segment, the data segment needs to be accessible from privilege level 3, which would make it unprotected.
понятно? NEED только данные В СТЕКЕ !!!
И уже совсем интересную инфу удалось обнаружить под конец - (ОБЯЗАТЕЛЬНО см. приложение, момент выделен восклицательными знаками!!!!) :)))
Вывод напрашивается сам собой - 8086 и не мучся :)))))))

Приложение:

Ответ отправлен: 07.07.2002, 16:09
Отправитель: Broken Sword


Отвечает baldr

Добрый день, ILYA D.!
А ты попробуй вернуть управление именно этой же команде, но с исправленными операндами. То
есть дели не на 0, а на 1. Хотя это тоже, наверное, зависит от команды?


Ответ отправлен: 08.07.2002, 00:47
Отправитель: baldr


Отвечает kvINT

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

Ответ отправлен: 08.07.2002, 12:21
Отправитель: kvINT


 Вопрос № 674

Господа эксперты помогите пожалуйста: вот загрузчик к ОС и некий второй сектор. При загрузке функция чтения ошибок не возвращает, но второй сектор не выполняется, почему? Может с джампом чего не то?
Второй сектор:
SEGM1 SEGMENT
ORG 0
BEGIN:
MOV BH,0
MOV AL,'G'
MOV CX, 10H
INT 10H
MOV AH,0
INT 16H
SEGM1 ENDS
END BEGIN
Загрузчик в приложении.

PS. Тому, кто первый найдет истинную проблему переведу 10 кредитов на счет в NOP (625.NOP.RU)!
PS2 to Broken Sword: спасибо за ответ сообщи свой ник и я переведу тебе кредиты!
PS3 to all: 55AA в конце boot'a стоят (он возвращал ошибки чтения, они были исправленны!)


Приложение:


Вопрос отправлен: 07.07.2002, 16:55
Отправитель: pinman

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

Отвечает Broken Sword

Добрый день, pinman!
я не пойму как ты запускаешь то, что в приложении? если просто грузишь как файл, то ошибка может быть только одна - сектор 2 на самом деле выглядит не так, как ты считаешь, потому что все реально работает. (сектор 2 грузиться в 1000:0000 а потом туда джампится)
Но судя по твоим 7C00 и sti ты просто грузишься с дискетки, то что в приложении у тебя в первой дорожки нулевого сектора и ты думаешь, что этот код ляжет по 0000:7C00 и туда произойдет джамп? Да, действительно, так и будет, если только первый сектор действительно содержит код в приложении...
короче вариантов ошибки две: первый и второй секторы представляют из себя не то, на что ты расчитываешь.
p.s. я недогоняю, зачем тебе org 7C00h вначале?? какой в ней смысл ??
p.p.s. раскручивать пока нечего :),т.ч. можешь их кинуть кому нить, кому они больше пригодяться

Ответ отправлен: 07.07.2002, 18:59
Отправитель: Broken Sword


 Вопрос № 675

Здравствуйте, Broken Sword.
Спасибо за ответы!
Мне конкретно из принципа приспичило!!!:))) Т.е. если я допустим хочу после #DE восстановить старый обработчик(программа не ркзидентная), то мне надо это делать из своего(прямым редактированием таблицы векторов прерываний, как я понял из Зубкова) или изменять ошибочную команду и уже восстанавливать обработчик из основной программы?
Еще, не мог бы объяснить на пальцах, что за "conforming code segment" - не до конца догнал я этот кусок.
И оффициальные мануалы - это не с интелла ли? System Programming
Guide?
PS: Как я понял из приложения, ты мне предлагаешь на 8086 пересесть и на нем программировать!:)))
С уважением, ILYA D.



Вопрос отправлен: 07.07.2002, 17:00
Отправитель: ILYA D.

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

Отвечает Broken Sword

Здравствуйте, ILYA D.!
это ты вообще про реальный режим или про защищенку? :)
наверно про реал все таки, т.к. в защищенке никакого "старого обработчика" не существует в помине...
это на всякий случай )
опять ты со своей заменой команды :))))...
Я вообще прикинул - ведь абсолютно пофиг что ляжет в стек - адрес самой команды или следующей, ведь в первом случае не знаешь где конец, тогда как во втором такой же трабл с началом :)
так что заменить ничего не удастся (ну можно, можно конечно, но это извращение).
Чтобы после #DE восстановить старый обработчик нужно пойти путем прямого редактирования таблицы прерываний, как у Зубкова :)
Теперь насчет conforming code segment
Значит, в протекте, кодовый сегмент может быть conformed (дословный перевод - сообразованный, Зубков почему то перевел - подчиненный) или nonconformed (не подчиненный). За это отвечает второй бит поля "ТИП" в дескрипторе.
В двух словах - When accessing nonconforming code segments, the CPL of the calling procedure must be equal to the DPL of the destination code segment; otherwise, the processor generates a general-protection exception (#GP).
When accessing conforming code segments, the CPL of the calling procedure may be numerically equal to or greater than (less privileged) the DPL of the destination code segment; the processor generates a general-protection exception (#GP) only if the CPL is less than the DPL.
(The segment selector RPL for the destination code segment is not checked if the segment is a conforming code segment.
вот и все в принципе (в доступе все различия)
именно они, родимые (официальные мануалы)

Ответ отправлен: 07.07.2002, 18:59
Отправитель: Broken Sword


 Вопрос № 676

Здравствуйте, эксперты!
Даже и не знаю куда отправлять подобный вопрос!
Суть проблемы в том, что есть такое дело!:) Если я какой-то процесс зацикливаю в DOS окне в винде(допустим тем способом, что в вопросе №668, возвращаюсь из обработчика прерывания на ту же команду, которая его вызвала), то даже после того как я жму Ctrl-Alt-Del и вылазит окно "Завершить процесс", он продолжает где-то "крутиться", пока не перезагрузишься. Помогите, как этого избежать, кроме как не
зацикливать свои программы.:)))
С уважением, ILYA D.



Вопрос отправлен: 07.07.2002, 17:01
Отправитель: ILYA D.

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

Отвечает masquer

Доброе время суток, ILYA D.!
Измени алгоритм работы программы и/или обработчика. И поставь вин2к - там точно все снимется, хотя и в 9х тоже должно.

Ответ отправлен: 07.07.2002, 18:45
Отправитель: masquer


Отвечает Sensey

Здравствуйте, ILYA D.!
Поставь NT, 2000. Болльше ничего не поможет...


Ответ отправлен: 08.07.2002, 13:01
Отправитель: Sensey


 Вопрос № 677

Привет всем!
ВОПРОС:
1) Чего нельзя сделать на С++, а можно на АСМе?
2) Стоит ли изучать АСМ нынешним программистам? Ведь сейчас любой замысел можно сделать на языке высокого уровня, а на АСМе - гемор. Даже вири сейчас на АСМЕ не пишут. Т.к. их легко засечь антивирем. Об троянах вобще молчу...
3) Интересно, а ведь ХАКЕРАМ не нужно же знать АСМа?! Зачем?! Там всё и без него(АСМа) обходится?!
4) На каких языках вы сейчас пишете свои проги?
5) Какой язык вы считаете самым могущественным :-))? На этот вопрос отвечать искренне.
6) Как думаете, когда АСМ увянет и станет ненужным мусором?



Вопрос отправлен: 07.07.2002, 18:14
Отправитель: Влад

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

Отвечает Alex

Доброе время суток, Влад!
Интересное, однако, у Вас мнение... А кто мешает Вам писать на С++, не трогая АСМ?

Ответ отправлен: 09.07.2002, 08:13
Отправитель: Alex


Отвечает veei

Доброе время суток, Влад!
1.) Практически ничего, но сравни размер проги написанной на ASM'е и C++. Кроме того, программа написанная на ассемблере работает гораздо быстрее чем та же программа, но написанная на любом языке высокого уровня.
2.) ASM стоит (!) изучать всем программистам (если они себя таковыми считаю). Писать на ASM'е - это далеко не гемор. А вири не пишут на ASM'е не потому, что ASM - это "плохой" язык, а потому, что просто нет нормальных вирмэйкеров.
3.) Да, "ХАКЕРАМ" не нужно знать ASM, да чаще всего и не только ASM: чаще всего эти "ХАКЕРЫ" используют уже написанные кем-то проги.
4.) Свои проги я пишу преимущественно на Дельфи, но это только потому, что я начинал с Паскаля и этот язык мне ближе чем остальные. Хотя и ASM я тоже неплохо знаю.
5.) ASM. Да, он сложнее чем другие языки, но он и могущественней.
6.) ASM никогда не станет ненужным мусором.

Ответ отправлен: 08.07.2002, 05:30
Отправитель: veei


Отвечает igorash

Доброе время суток, Влад!
Для начала - почитай предисловие к книге Зубкова или если знаешь английский, то к "Art of assembly" (в приложении).
1. На ассемблере можно делать ВСЕ (немножко громко, но так оно и есть на самом деле). На С++ всего ты не сделаешь, т.е. может и сделаешь, но это будет через такую ж%пу, что я не знаю....
2. Смотря что писать собрался, если простые утилитки, то не надо... Не все ты на ЯВУ сделаешь, да на асме писать что-то сложнее, а что-то во много раз легче. А на чем же вири пишут??? Что все-все вири палятся???? Покажи мне тот антивирус, я его хочу :).
3. Хакеры - сетевые взломщики? Ну а с помощью чего ты будешь дыры в прогах искать, чтобы доступ можно было получить, или будешь пароли перебирать?
4. Ассемблер, паскаль
5-6. ASM rulezzz forever!!!
6. Никогда, всегда нужно будет писать на низком уровне или из-за скорости или из-за кода, да и дрова тоже писать надо.



Приложение: