Comments 7
Ах старые добрые 21h и 10h. А вот оно значит как в мипсах — в общем то похожий принцип.
0
Таки int-ами полон Unix(0х80) и NT/Win2k(0x2E). В виндах посвежее используется SYSENTER(долго вспоминал, как этот опкод зовется, заодно выяснил, что на AMD он и вовсе SYSCALL).
+1
Старые-добрые прерывания эти в реальном режиме работали, а тут в защищённый режим да ещё и привилегированный. Но напоминает да. Ещё в Z80 (второй ассемблер, который я учил) были команды RST n (так, кажется), передающие управление на определённый адрес с шагом.
0
А на С mips_first_exception_handler() написать можно? В gcc есть __attribute__((interrupt)), вроде бы для MIPS (в том числе).
0
На сколько я понимаю, нет. mips_first_exception_handler это такой длинный jump. Возможно, Вы правы, что можно было бы использовать атрибут: с __attribute__((interrupt)) на mips_c_syscall_handler получится обойтись без mips_second_exception_handler (точнее, аналогичный ему код подтянется из компилятора).
Я обычно предпочитаю не использовать этот атрибут, получается более прозрачно (и переносимо).
Я обычно предпочитаю не использовать этот атрибут, получается более прозрачно (и переносимо).
0
Sign up to leave a comment.
Системные вызовы MIPS