Witam,
Tak jak w temacie, czy można programowo przesuwać czytnik stacji dyskietek (np. w dół lub do góry o kilka sektorów)? Chodzi mi o samo przesuwanie, jednak odczytywanie sektorów chyba też mogłoby być. Proszę o jakąś wskazówkę ;)
Witam,
Tak jak w temacie, czy można programowo przesuwać czytnik stacji dyskietek (np. w dół lub do góry o kilka sektorów)? Chodzi mi o samo przesuwanie, jednak odczytywanie sektorów chyba też mogłoby być. Proszę o jakąś wskazówkę ;)
krzysnick napisał(a)
Witam,
Tak jak w temacie, czy można programowo przesuwać czytnik stacji dyskietek (np. w dół lub do góry o kilka sektorów)? Chodzi mi o samo przesuwanie, jednak odczytywanie sektorów chyba też mogłoby być. Proszę o jakąś wskazówkę ;)
Jedyne, co mi do łba przychodzi to assembler, ale nie wiem, czy i on na to pozwoli. W sumie nie wiem, jak to jest realizowane.
kiedyś coś takiego robiłem w aseblerze z wykorzystaniem funkcji biosu - dało się to zrobić, można było odczytać sektor z określonej pozycji
wyglądało to tak (kod jest z 1996):
mov ah,02h
mov al,1 {ile przeczytac}
mov ch,Sc {numer scierzki}
mov cl,Se {numer sektora}
mov dh,g {numer glowicy}
mov dl,sta {typ namedu A=0; B=1}
mov bx,s
mov es,bx
mov bx,o
int 13h
mov byk,ah
Ciekawy ten Assemblerek. :)
Chyba też się z nim zapoznam. :)
On jest wykorzystywany do sterowania czymś?
teraz już nie, to jest "zabytek"
to jest fragment kodu programiku szukającego "dziur" na dyskietce
więcej informacji można znaleźć w opisie funkcji biosu -kiedyś był taki sprytny help nazywał się techhelp
:)</image>
Tak myślałem, że to już będzie assembler, a że niestety mało się na nim znam to mam kilka pytań co do kodu...
Sc, Se, g, sta, s, o, byk - czy te zmienne trzeba jakoś zadeklarować lub może da się przez zwykłe pascalowskie "var"? I gdzie znajdą się odczytane dane ;)?
Sc, Se, g, sta, s, o, byk - czy te zmienne trzeba jakoś zadeklarować lub może da się przez zwykłe pascalowskie "var"? I gdzie znajdą się odczytane dane ?
Poczytaj najpierw jakiś tutorial do asemblera, bo jedno pytanie bedzie tylko rodzić pięć następnych...
Parę słów wyjaśnienia do kodu asembleroego zmienne Sc, Se, g, sta, s, o, byk są zadeklarowane jako var w procedurze. a kod asemblerowy jest wklejony do procedury pascalowej i poprzedzony "asm" żeby kompilator wiedział jak to traktować.
Jeśli chodzi o szczegóły proponuje żebyś poszukał porządnego opisu funkcji 13h