Помогите найти ошибку plz...

Тема в разделе "WASM.BEGINNERS", создана пользователем Anrkaid, 17 авг 2005.

  1. Anrkaid

    Anrkaid New Member

    Публикаций:
    0
    Регистрация:
    6 авг 2005
    Сообщения:
    13
    Адрес:
    Russia
    В общем за асм я взялся недавно, но крепко прилип, нашел какие-то статейки по созданию ос. На что-то серьезное я не претендую, слишком интересно, так упали мои крохи кода на прерываниях, как их обрабатывать? Что-то нихрена не выходит, тыкните пальцем plz и разжуйте че туда запихать надобно чтобы на клаву он реагировал, а не ребутился при загрузке. Загрузчики вроде работают, а ядро падает(управление передается в начало файла core.bin, создаю бинарик NASM'om). Здесь код.

    И не надо меня тыркать за корявый код, я хочу чтобы он работал, а не блистал лаконичностью и эффективностью(это в проекте :))



    [​IMG] 196923809__Core.asm
     
  2. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    Код (Text):
    1.     push 0x20
    2.     push irq_timer
    3.     push 0x8e
    4.     call i_install__





    Код (Text):
    1.     i_install__
    2.         jmp i_i_s__
    3.             vector db 0
    4.             func dd 0
    5.             type db 0
    6.             i__  db 0
    7.             b__  dd 0,0
    8.         i_i_s__:
    9.         pop eax  << это извлекается адрес возврата (так нужно?)
    10.         mov byte[vector],al
     
  3. Anrkaid

    Anrkaid New Member

    Публикаций:
    0
    Регистрация:
    6 авг 2005
    Сообщения:
    13
    Адрес:
    Russia
    угу,понял,что ламер, большое спасибо :)