LINUX.ORG.RU

Assembler_33h


0

0

Здраствуйте.Я поверхностно знаю asm не корите если что нибудь не так. Вообщем патыюсь вызвать прерывания 33h прога падает (типа segfault)

.data .global main main:

mov $0x9,%ah int $0x33 ret

что сделать чтоб прерывание сработало? Посоветуйте ресурс asm for Unix буду очень презнателен


А что сделать пытаешься? Надо пользоваться системными вызовами через int 80h. Номер вызова в eax(насколько я помню).

olegk ★★
()

Прочитай сначала про программирование на асме в защищенном режиме.

anonymous
()

да, для начала не мешало бы ознакомиться с защищённым режимом, а потом можно и сюда зайти - http://www.linuxassembly.org/

corpus
()
Ответ на: комментарий от olegk

Да я вообще драва для мыши пишу,...уже стока гемороя нажил...:) Надо железо проитициализировать а я не знаю как, вот решил вопользоватся системным сервисом bios-а

timis
() автор топика
Ответ на: комментарий от timis

> Да я вообще драва для мыши пишу,...уже стока гемороя нажил...:) Надо железо проитициализировать а я не знаю как, вот решил вопользоватся системным сервисом bios-а

А с чего ты вообще взял, что int33h - это системный сервис биоса?? Это вообще-то стандартный интерфейс для досовых дров мыши, не более того... если бы ты писал дрова под дос - ты бы писал _обработчик_ этого прерывания.

int19h ★★★★
()

Во-первых, movb $0x9, %ah. Во-вторых, в UNIX нет int $0x33.

drish ★★
()
Ответ на: комментарий от timis

В Linux 0x80. Смотри вызовы ioctl и open. Короче, здесь всё совсем по-другому.

drish ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.