Результаты поиска по запросу "system-calls"

1 ответ

 (не PIC, статические адреса умещаются в 32 бита)

Мало того, что этот код .SECTION .data msg: .string "AAAA" .SECTION .text .globl _start _start: mov $1, %rax mov $1, %rdi mov msg, %rsi mov $4, %rdx syscallне segfault, он также ничего не выводит.Согласно тому, что я прочитал, программа должна ...

1 ответ

 требует системного вызова ABI, который записывает регистры, и поэтому значения такие, какие они есть.

аюсь выделить немного памяти в Linux сsys_brk Системный вызов. Вот что я попробовал: BYTES_TO_ALLOCATE equ 0x08 section .text global _start _start: mov rax, 12 mov rdi, BYTES_TO_ALLOCATE syscall mov rax, 60 syscallДело в том, что в ...

1 ответ

Ваш последний комментарий должен сказать «выход 1», так как вы перевели $ 1 в% edi.

я проблемы с поиском хорошей документации для написания 64-битной сборки на MacOS. 64-битный SysV ABI [https://www.uclibc.org/docs/psABI-x86_64.pdf]говорит следующее в разделе A.2.1 иэтот ТАК ...

ТОП публикаций

0 ответов

И в чем причина разницы во времени, выполняя его более 4 раз? В чем причина «скачков» времени?

у видеть время моего системного вызова программы канала. Мне нужно измерить это для анализа результатов. Как я могу измерить время системного вызова в миллисекундах? Например, это простая конвейерная программа: #include <unistd.h> #include ...

1 ответ

 системного программирования, просто читая справочные страницы Linux и видя, что разные программы использовали

исал простуюCпрограмма, которая просто вызываетВыход() [http://man7.org/linux/man-pages/man3/exit.3.html]функция, однакоТрассирование [https://linux.die.net/man/1/strace]говорит, что двоичный файл на самом деле вызывает exit_group, является ли ...

1 ответ

Что произойдет, если вы используете 32-битный int 0x80 Linux ABI в 64-битном коде?

int 0x80 в Linux всегда вызывает 32-битный ABI, независимо от того, из какого режима он вызывается: args inebx, ecx, ... и номера системных звонков от/usr/include/asm/unistd_32.h. (Или вылетает на 64-битных ядрах, скомпилированных ...

3 ответа

OsDev syscall / sysret и sysenter / sysexit инструкции по включению

Я собираю 32-битную ОС в сборке. Я установил IDT и обрабатываю прерывание программы черезint инструкция. Как я могу включитьsyscall а такжеsysenter инструкции и как мне их обработать / вернуть? Это правда, чтоsyscallнструкция @ не ...

3 ответа

Ваша реализация может содержать больше ошибок, как, например,

ользую системный вызов, и в случае сбоя мне нужно делать разные вещи для разных ошибок. Мне нужно написать код, который выглядит примерно так: int res; res = systemCall(); if (res == -1) { if (errno == ENOMSG) { doSomething(); } else { ...

0 ответов

 за его терпение и помощь.

даю эту новую тему по совету другого участника. Для дополнительной истории относительно того, как вещи достигли этой точки, смотритеэтот ...

0 ответов

 в списке рассылки новичков ядра.

отаю над перехватом системных вызовов (дляopen() системный вызов), и у меня есть одна проблема: у меня есть два модуля ядра (mod1 а такжеmod2) и они оба пытаются перехватитьopen() Системный вызов. Я загрузилmod1 сначала, а ...