« »
4/28/2008

Convertisseur adresse disque dur CHS <> LBA [MAJ]

Lors d'un cours d'architecture ordinateur, je me suis amusé à créer un petit programme permettant de convertir une adresse C.H.S (Cylindre, Tête, Secteur) en LBA (Logic Block Adressing) et inversement.

Voici donc le code que j'ai écrit pour ma calculatrice casio Graph 35+ :


Lbl 0
"1:CHS->LBA"
"2:LBA->CHS"
?->T:ClrText
T=1=>Goto 1
T=2=>Goto 2
Lbl 1
"CHS(C,T,S)->LBA"
?->C:?->T:?->S
"NOMBRE(C,T,S)"
?->A:?->B:?->D
((CxBxD)+(TxD)+(S-1))->L
"LBA"
L(TRIANGLE)
Goto 0
Lbl 2
"LBA"
?->L
"NOMBRE(C,T,S)"
?->A:?->B:?->D
Int (L/(BxD))->C
Int ((Int L-(CxBxD))/D)->H
Int ((1+Int L)-(CxBxD)-(HxD))->S
"CHS(C,H,S)"
C(TRIANGLE)
H(TRIANGLE)
S(TRIANGLE)
Goto 0



Remarque :
  • (TRIANGLE) : n'est autre que le caractère disponible sous la calculatrice et qui permet d'afficher le contenu d'une variable (SHIFT+VARS+F5)
  • -> : correspond au caractère d'affectation sous casio (touche L)
  • => : caractère de saut sous casio, disponible via le menu SHIFT+VARS+(F3)JUMP
  • x : opérateur de multiplication sous casio
  • / : opérateur de division sous casio

[MAJ] Une version développée en C est compilée sous Windows est disponible ici.
« »
 
 
Made with on a hot august night.
http://bit.ly/1II1u5L