-
Приветик всем, пожалуйста помогите решить задачку,а то у меня никак не получается.Задача такая: (Tаблица прерываний BIOS) Считается, что адреса стандартных функций по обработке прерываний BIOS содержатся в массиве R[0..255]. Реализовать программу алгоритма, содержащего три функции: GET(номер прерывания, адрес), PUT(номер прерывания, адрес), HIZMAT. Функция GET служит для размещения (запоминания) адреса стандартной (системной) функции по обработке прерывания по указанному адресу переменной, PUT по указанному номеру прерывания замещает адрес системной функции на адрес пользовательской функции. По заданному номеру прерывания (соответствует индексу элементов массива R) произвести сохранение адреса системной функции и размещение адреса функции HIZMAT. Заранее огромное спасибо, тем кто попытается мне помочь.
-
> а то у меня никак не получается
Что конкретно не получается?
-
> HIZMAT
Страсти господни
-
А на каком языке программирования надо? Я не понял чем функция GET должна отличаться от PUT
-
Не понятно причем тут системное программирование.
кстати. GetIntVec SetIntVec из паскаля - это из этой степи?
-
> Я не понял чем функция GET должна отличаться от PUT
ага, а описание GET как-то не вяжется с названием ваще.
-
В общем никому это не надо на самом деле
-
var R: array[0..255] of Pointer absolute $0000:$0000;
function Get(N: Integer): Pointer; begin Get := R[N]; end;
function Put(N: Integer; Vec: Pointer) begin R[N] := Vec; end;
function HIZMAT; interrupt; begin
end;
var S: Pointer; N: Integer; begin N := 200; S := Get(N); Put(N, @HIZMAT) end.
И причём тут системное программирование
|