Вопрос № 62761: Привет.
Кто нибудь может привести каркасное приложение OpenGL на асме, только ссылок не надо.
Пока...Вопрос № 62773: Извините,уважаемые эксперты, вопрос наверное не в тему,не подскажете сайт, где можно почитать про разработку драйверов .Всегда было интересно узнать как компьютер управляет, например принтером....Вопрос № 62813: Уважаемые эксперты помогите пожалуйста,начал изучать асемблер : не могу загрузить MC DOS вернее загрузил но вот пишу команду debug компьютер выдает ошибку.Заранее благодарен всем кто ответит....Вопрос № 62816: Обьясните, пожайлуста, что означает термины "кольца защиты, нулевое кольцо".Заранее спасибо....Вопрос № 62831: Товарищи, эксперты! У меня такой вопрос по ассемблеру: Нужно обработать прерывание 16h (keyboard i/o), а именно для клавиши Backspace, чтобы удалялся символ слева от текущей позиции курсора, а затем переводился сам курсор. Если курсор находитс
я в ле...
Вопрос № 62.761
Привет.
Кто нибудь может привести каркасное приложение OpenGL на асме, только ссылок не надо.
Пока
Отправлен: 15.11.2006, 15:23
Вопрос задал: Практик (статус: 1-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
; create and enable the render context (RC)
invoke wglCreateContext, hDC
mov hRC, eax
invoke wglMakeCurrent, hDC, hRC
ret
;}
EnableOpenGL EndP
;========================================================
DisableOpenGL Proc hWnd:HWND
;{
invoke wglMakeCurrent, NULL, NULL
invoke wglDeleteContext, hRC
invoke ReleaseDC, hWnd, hDC
ret
;}
DisableOpenGL EndP
;========================================================
End Start
--------- ЮЗВЕРЬ!! ЮЗВЕРЮ!....
Ответ отправил: Joy~ (статус: 6-ой класс)
Ответ отправлен: 16.11.2006, 13:51
Вопрос № 62.773
Извините,уважаемые эксперты, вопрос наверное не в тему,не подскажете сайт, где можно почитать про разработку драйверов .Всегда было интересно узнать как компьютер управляет, например принтером.
Отправлен: 15.11.2006, 16:58
Вопрос задал: Rekonkista (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: IceWolf
Здравствуйте, Rekonkista!
Статьи по этой теме есть на wasm.ru , в разделе "Секреты Win32"
Вот ещё сайт http://www.evm.narod.ru/ddk.html , и ещё
http://club.shelek.com/view.php?id=19 .
Также потребуется знать как процессор работает в защищенном режиме, статьи про это есть на том же wasm.ru
С уважением, IceW0|f.
--------- И да покарает пингвин мелких и мягких!
Ответ отправил: IceWolf (статус: 3-ий класс)
Ответ отправлен: 15.11.2006, 17:54
Отвечает: Mashin
Здравствуйте, Rekonkista!
На сайте www.wasm.ru есть цикл статей про разработку драйверов.
Прямая ссылка http://www.wasm.ru/publist.php?list=21
Ответ отправил: Mashin (статус: 2-ой класс)
Ответ отправлен: 15.11.2006, 17:55
Вопрос № 62.813
Уважаемые эксперты помогите пожалуйста,начал изучать асемблер : не могу загрузить MC DOS вернее загрузил но вот пишу команду debug компьютер выдает ошибку.Заранее благодарен всем кто ответит.
Отвечает: Стас
Здравствуйте, Яценко Сергей Владимирович!
Ошибки то и не вижу, вижу информаю о компе и виндах...
Опишите более детально как "загружали MC DOS".
Как запускаете debug и что при этом проиходит.
Ответ отправил: Стас (статус: Специалист)
Ответ отправлен: 16.11.2006, 01:35
Вопрос № 62.816
Обьясните, пожайлуста, что означает термины "кольца защиты, нулевое кольцо".Заранее спасибо.
Отправлен: 15.11.2006, 23:23
Вопрос задал: Rekonkista (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Луковкин Николай Иванович
Здравствуйте, Rekonkista!
В архитектуре 32-разрядных процессоров Intel есть три кольца защиты - ring-1,2,3.
Они предназначены для ограничения взаимодействия выполняющихся программ между собой и с операционной системой. Операционная система имеет права доступа ко всем остальным выполняемым программам, т.к. она работает в нулевом кольце защиты(наиболее привилегированном), системные задачи выполняются в первом и втором кольцах защиты, а приложения в третьем (наименее привилегированном). Частично управлять запущенными приложениями можно из первого и второго колец защиты. Именно так работает большинство отладчиков для
разработки программ.
На примере: отладчик SoftICE, который работает в нулевом кольце защиты и позволяет полностью контролировать не только все выполняемые системой задачи, но и саму OS Windows.
С его помощью ты можешь отлаживать все что захочешь, даже Windows.
--------- Главным критерием эффективности того или иного пути может служить лишь то, достиг или нет крекер конечного результата!!!
Товарищи, эксперты! У меня такой вопрос по ассемблеру: Нужно обработать прерывание 16h (keyboard i/o), а именно для клавиши Backspace, чтобы удалялся символ слева от текущей позиции курсора, а затем переводился сам курсор. Если курсор находится в левом верхнем углу, то ничего не делать, а, если - на самой первой позиции в строке, то переставить курсор на последний символ в предыдущей строке и удалить его. Меня больше всего интересует само удаление символа, с курсором там все понятно. Кстати, какой в Turbo Pascale
коректный выход из программы? А то он команду ret не обрабатывает, хотя она во многих ассемблерах является стандартной.
Заранее блатодарен за ответ!!!
Приложение:
Отправлен: 16.11.2006, 03:21
Вопрос задал: Leito (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: ADSota
Здравствуйте, Leito!
1. Все это делает недокументированная функция 29h:
mov al,8
int 29h
mov al,32
int 29h
mov al,8
int 29h
В результате получишь то-же, будто была нажата клавиша backspace
--------- Открыть глаза навстречу солнцу
Ответ отправил: ADSota (статус: Специалист)
Ответ отправлен: 16.11.2006, 11:12 Оценка за ответ: 5 Комментарий оценки: Респект!!! :) Хотя более точный код будет выглядеть так (нам нужно еще удалять символ предыдущей строки): @start: ; здесь обрабатываем нажатие клывиши ............................ @backspace: mov ah, 03h mov bh, 0 int 10h cmp dl, 0 je @move @del: mov al,8 int 29h mov al,32 int 29h mov al,8 int 29h
jmp @start
@move: cmp dh, 0 je @start mov dl, 79 dec dh mov ah, 02 mov bh, 0 int 10h jmp @del
Отвечает: Вiктор
Здравствуйте, Leito!
2. Насколько я помню, ТурбоПаскаль не позволяет делать Win32-программы, максимум - программы под Windows 3.1. (Хотя конечно он может делать ДОС-программы, которые запускаются через Виндовский эмулятор, но это не то же самое что Win32-программа)
Я предполагаю что вы делаете ДОСовские ЕХЕ-программы и хотите сделать выход из программы через ассемблерную вставку.
выход по команде ret - это работает для ДОСовских СОМ-программ. Для ЕХЕ-программ в досе надо вызвать выход через прерывание (кажется int 20, точно не помню), а в Windows - через вызов API-функции ExitProcess. И вообще, Турбопаскаль надеется на то, что выход из программы будет там, где завершается главная программа, где стоит "end.". Я не уверен, но думаю что компилятор ещё вставляет дополнительный код перед выходом - освобождение памяти, закрытие файлов, может ещё какие-то служебные действия, а если
вы выйдите самостоятельно, то эти служебные действия не будут выполнены.
В крайнем случае делайте такой же выход, как и из обычной досовской ЕХЕ-программы (ведь турбопаскаль по умолчанию делает ЕХЕ-программы), т.е. вместо ret вызывайте соответствующее прерывание.
--------- ни дня без строчки (но не получается)
Ответ отправил: Вiктор (статус: 9-ый класс)
Ответ отправлен: 16.11.2006, 20:55 Оценка за ответ: 5 Комментарий оценки: Работает! Только не 20h, а 21h, но выход происходит только при двойном нажатии Esc.