Можно ли напрямую работать с прерываниями BIOS-а с помощью Си? Перед вами код, который запускается на голом железе.Выводит на экран строчку "hello world" и перезагружает компьютер.Возможно ли реализовать на чистом си нечто подобное?#make_boot#
org 7c00h
mov ah,00h
mov al,03h
int 10h
mov ah,13h
mov al,1
mov bh,0
mov bl,0000_1011b
mov dl,1
mov dh,0
mov cx,message - offset text
mov bp,offset text
int 10h
INT 19h
text db 'Hello world!'
message:

21 Авг 2019 в 06:55
190 +1
0
Ответы
1

Нет, нельзя напрямую работать с прерываниями BIOS-а с помощью чистого C. Прерывания BIOS-а являются ассемблерными командами, специфичными для конкретной аппаратной архитектуры, и для их вызова необходимо использовать ассемблер.

Однако, можно написать небольшой фрагмент кода на ассемблере, который вызывает нужные прерывания BIOS-а, и затем вызывать этот код из программы на C.

Если вам нужно сделать что-то похожее на пример кода, который вы привели, я бы порекомендовал использовать ассемблер для вызова нужных прерываний BIOS-а, а затем вызывать этот ассемблерный код из вашей программы на C.

20 Апр 2024 в 13:11
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир