Odczyt zawartości bufora klawiatury

0

Cześć, mam zadanie: "Napisz program, który będzie wypisywał na ekran, na bieżąco
zawartość bufora klawiatury i stan jego wskaźników"

chciałbym żebyście nakierowali mnie jak to by trzeba zrobić bo nie wiem jak dobrze odczytać tą zawartość bufora

program klawiatura;
uses dos,crt;
var reg:registers;

procedure klawiatura(var reg:registers);
var p : ^byte;
var s : ^byte;
begin
p:=ptr($0400,$001a);      { początek cyklicznego bufora klawiatury }
s:=ptr($0400,$001c);       { koniec cyklicznego bufora klawiatury }
writeln(p^);
writeln(s^);                       {i tu sobie sprawdzam zawartosc tych adresow nie wiem czy to tak powinno byc }
end; 

Czy w taki sposób powinno się odczytywać zawartość tych wskaźników i bufora klawiatury ?
Czy może ten 'stan wskaźników to coś innego tak naprawde' ?

Dziękuje za wszystkie wskazówki odnośnie tego zadania.

0

Takie coś może się udać pod TP i Dosem, ale pod Windowsem (a tym bardziej FPC) nie ma najmniejszego sensu. Najlepiej zainwestuj w bardziej nowoczesną książkę.

0

ale pod Windowsem (a tym bardziej FPC) nie ma najmniejszego sensu.

strzelam, że pod 32-bitowym windowsem jednak będzie to działać (jeśli adres wskaźnika będzie prawidłowy, 32-bitowy) nawet w aplikacjach Win32 (konsolowych).
pod 64-bitowym może nie działać ze względu na brak NTVDM.

0

strzelam, że pod 32-bitowym windowsem jednak będzie to działać (jeśli adres wskaźnika będzie prawidłowy, 32-bitowy) nawet w aplikacjach Win32 (konsolowych).

To, że będzie działać nie znaczy że jest to rozwiązanie dobre. Pod FPC na win32 nie będzie działać. A TP to tylko w szkołach jeszcze używają...

Więc ludzie, naprawdę DOSa już nikt nie używa... Wyrzućcie te archaiczne książki...

0

Chętnie bym nie robił tych dosowych zadań ale takie mamy zadania na PŚK na systemach operacyjnych, podstawą jest przeczytanie książki 'DOS 5 od środka' z 1996 roku :(

Niemniej jednak jak ktoś ma dla mnie jakieś wskazówki, rozwiązania to proszę ciągle o rady, dzięki

0

Czy może ten 'stan wskaźników to coś innego tak naprawde' ?

pod adresem 41Ah znajduje się 16-bitowy adres „głowy” bufora, a pod 41Ch adres ogona.
pod 480h adres początku (liniowy) bufora, a pod 482h adres końca.

żeby odczytać co jest w buforze, trzeba najpierw z tych komórek odczytać gdzie się właściwy bufor znajduje.

ewentualnie „stan wskaźników” głowy i ogona to p^ i s^ z twojego przykładu, ale te zmienne powinny być wtedy typu ^word.

1 użytkowników online, w tym zalogowanych: 0, gości: 1