Вопрос № 30952: Здраствуйте уважаемые эксперты! Я не так уж давно занимаюсь Assembler'ом (а то и видно) и вот придумал такую програмку (Рисование окружности) в листинге я всё подробно объяснил что по чём так-что проблем быть не должно. Так вот у меня вопрос: как мож...Вопрос № 30976: Уважаемые эксперты! Известно, что Виндовз выделяет каждой пользовательской программе свою зону памяти (2 гб) и при попытке заглянуть за её пределы прекращает
выполнение этой программы. Каким образом вирусам удаётся обойти это ограничение? Где тот бит...Вопрос № 30993: Доброго времени суток! Поскажите пожалуйста, где бы документацию и
взять по 64 битным процам(На русском языке). И к стати интеловские и АМД'шные - различия есть ? ...Вопрос № 31005: Здравствуйте уважаемые эксперты.
Только начал писать на асме. Хочу зделать программу которая бы вводила с клавиатуры строку символов. С помощью чего это делается, в принципе разобрался. Мне хотелось бы узнать, куда заносится данная строка после в...
Вопрос № 30.952
Здраствуйте уважаемые эксперты! Я не так уж давно занимаюсь Assembler'ом (а то и видно) и вот придумал такую програмку (Рисование окружности) в листинге я всё подробно объяснил что по чём так-что проблем быть не должно. Так вот у меня вопрос: как можно упростить эту програмку (оптимизировать) что бы небыло лишнего кода и работала она без глюков (а глюки там кстати есть - выводятся две "левые" точки справа и слева от окружности)... что вы мне посоветуете в этом плане и что тут можно или даже нужно
исправить???Листинг в приложении
Отвечает: Евгений Иванов
Здравствуйте, Петров Максим Викторович!
Используй постоянную PI, которая имеют повышенную точность, нежели твоя 6.28 :)
--------- Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 07.12.2005, 09:04
Вопрос № 30.976
Уважаемые эксперты! Известно, что Виндовз выделяет каждой пользовательской программе свою зону памяти (2 гб) и при попытке заглянуть за её пределы прекращает выполнение этой программы. Каким образом вирусам удаётся обойти это ограничение? Где тот бит и в каком регистре, который надо включить или сбросить, чтобы отключить "недремлющее око"? Спасибо за ответ заранее.
Отвечает: Bob Johnson
Здравствуйте, Кривенцов Олег Олегович!
Не так все просто... битом в регистре не обойдешься.
Вообще же система не запрещает тебе читать или писать в память других процессов, если у тебя есть соответствующие привелегии. См. API функции
OpenProcess, ReadProcessMemory и WriteProcessMemory.
Ответ отправил: Bob Johnson (статус: Академик)
Отправлен: 07.12.2005, 13:08 Оценка за ответ: 5
Вопрос № 30.993
Доброго времени суток! Поскажите пожалуйста, где бы документацию и
взять по 64 битным процам(На русском языке). И к стати интеловские и АМД'шные - различия есть ?
Отправлен: 07.12.2005, 17:10
Вопрос задал: REX (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Евгений Иванов
Здравствуйте, REX!
www.intel.com/
www.amd.com/
там есть и на русском
--------- Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 07.12.2005, 18:53
Отвечает: Sager
Здравствуйте, REX!
Если не ошибаюсь, то на сайте intel.com и amd.com есть на русском.
А еще почитай вот это, для старта так сказать:
http://www.xakep.ru/magazine/xa/083/default.asp
(статья называется 64-битный привет, только ссылка на нее появится примерно через месяц(почему-то сразу не выкладывает после выхода) - а если не хочешь ждать - то купи журнал)
http://www.amd64.ru/index.php?link=3&addr=6&page=6
(ну и еще по сайту походи - может что интересное найдешь)
Ответ отправил: Sager (статус: Студент)
Отправлен: 07.12.2005, 20:25
Вопрос № 31.005
Здравствуйте уважаемые эксперты.
Только начал писать на асме. Хочу зделать программу которая бы вводила с клавиатуры строку символов. С помощью чего это делается, в принципе разобрался. Мне хотелось бы узнать, куда заносится данная строка после выхова прерывания, в какую переменную или регистр?
Скажем я использую функцию 0Аh прерывания 21h.
Заранее всем благодарен.
Отправлен: 07.12.2005, 19:32
Вопрос задал: Юра (статус: 2-ой класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Sager
Здравствуйте, Юра!
Ну если ты используешь функцию 0Аh прерывания 21h, то в ds:dx нужно указывать на какую либо переменную, кот. будет записываться введенная строка.
mov ah,0ah
mov dx,offset data
int 21h
int 20h
data db 254 dup(' ')
Или можешь еще по-другому сделать, пример в приложении
Приложение:
Ответ отправил: Sager (статус: Студент)
Отправлен: 07.12.2005, 20:31