The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Проект PiDP-10 развивает клон мэйнфрейма PDP-10 на базе платы Raspberry Pi 5"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Для слежения за появлением новых сообщений в нити, нажмите "Проследить за развитием треда".
. "Проект PiDP-10 развивает клон мэйнфрейма PDP-10 на базе плат..." –1 +/
Сообщение от n00by (ok), 18-Мрт-24, 11:47 
Эти знания не актуальны ни для кого, даже для бородатых программистов на Си.

Вот для примера код, который работает у каждого эксперта. Так glibc вызывает ядро:


; Intel syntax
syscall         proc

arg_0           = qword ptr  8

                 mov     rax, rdi
                 mov     rdi, rsi
                 mov     rsi, rdx
                 mov     rdx, rcx
                 mov     r10, r8
                 mov     r8, r9
                 mov     r9, [rsp+arg_0]
                 syscall                 ; LINUX -
                 cmp     rax, 0FFFFFFFFFFFFF001h
                 jnb     short loc_103832
                 retn


Обработчик syscall в ядре принимает 6 аргументов в тех же самых регистрах, что и данная подпрограмма syscall, плюс номер вектора в rax. За одним исключением: команда syscall портит rcx, потому вместо него 4-й аргумент передаётся в r10. Но кто-то додумался передавать номер вектора в эту подпрограмму первым аргументом, а не последним, потому вместо 2-х mov вот такой кордебалет. И никого это не волнует, даже Грета Тунберг не озабочена углеродным следом.
Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Проект PiDP-10 развивает клон мэйнфрейма PDP-10 на базе платы Raspberry Pi 5, opennews, 14-Мрт-24, 17:45  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру