- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
void __attribute__ ((naked)) c8_handler_i() {
    asm volatile (
        "push %%ebp             \n\
        mov %%esp, %%ebp        \n\
        sub $20, %%esp          \n\
        mov %%eax, -4(%%ebp)    \n\
        mov %%ebx, -8(%%ebp)    \n\
        mov %%edx, -12(%%ebp)   \n\
        mov %[tasks], %%ebx     \n\
        mov %[cur_task], %%eax  \n\
        mov %[t_sz], %%edx      \n\
        mov (%%eax), %%eax      \n\
        mul %%edx               \n\
        add %%eax, %%ebx        \n\
        mov -4(%%ebp), %%eax    \n\
        mov %%eax, (%%ebx)      \n\
        mov -8(%%ebp), %%eax    \n\
        mov %%eax, 4(%%ebx)     \n\
        mov %%ecx, 8(%%ebx)     \n\
        mov -12(%%ebp), %%eax   \n\
        mov %%eax, 12(%%ebx)    \n\
        mov %%esi, 16(%%ebx)    \n\
        mov %%edi, 20(%%ebx)    \n\
        mov %%ebp, 24(%%ebx)    \n\
        addl $4, 24(%%ebx)      \n\
        mov (%%ebp), %%eax      \n\
        mov %%eax, 28(%%ebx)    \n\
        mov -4(%%ebp), %%eax    \n\
        mov -8(%%ebp), %%ebx    \n\
        mov -12(%%ebp), %%edx   \n\
        add $20, %%esp          \n\
        pop %%ebp               \n\
        iret"
        :: [tasks] "i" (tasks), [cur_task] "i" (&cur_task),
           [t_sz] "i" (sizeof(task)), [t_eip] "i" (offsetof(task, eip)), 
           [t_ebx] "i" (offsetof(reg_values, ebx))
    );
}
                                 
        
# C++
Скблд, т упрт?
Они стойкие, твёрдые. Без кавычек.
Нафига? Оно же только объём увеличивает. На скорость не должно повлиять, особенно если всё это говно в отдельную секцию падает.
> исключения
А я бы оставил ради прикола. Хоть какая-то новизна у оси появится. Да и есть вероятность, что на позитивных кейсах даже быстрее будет работать.
libsupc++. Там ему несколько сишных функций типа abort()', malloc()'а и т.п. нужно написать и указатель на секцию с экцепшонами передать.
На осдеве где-то была статейка как это делается. Я сильно не тестил, но исключение кидалось и ловилось.
З.Ы. Чё-то магических оффсетов дохуя.
Такие мне больше всего и нравятся. Романтики из коробки. Ах, как классно гулять и общаться и ними!.. Потом они вырастают, уходят/приходят из армии - но уже обывателями с житейским умом, зацикленным на грубой развлекухе. Им со мной становится неинтересно. Как, впрочем, и мне с ними.
Я с такими не дружу.
а еще об этом говорит at&t нотация
кричит прямо