Indiáni a spomienky zo strojového kódu

Keď som voľakedy vládol strojovému kódu a škrabal kód v assembleroch všetkého druhu, tak u 16-bitových hodnôt sa niekedy významnejší byte zapisoval ako prvý a niekedy ako druhý. V UTF sa to volá malý alebo veľký indián a v strojovom kóde sa to líšilo podľa výrobcov procesorov.
Mašiny s procesormi Motorola – ano všetky staré „jablkové mačky“ či „komodorky“ si písali 16-bitové hodnoty presne naopak ako intelovské stroje.
Pamätáte si ešte ako to u ktorého bolo (a ešte niekde v hlbinách vašich strojov stále je)? Otvorte si tento spot..


.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Intely mali menej významný byte ako prvý.
Motoroly ho mali ako druhý.
A keď už spomienky, tak prepočet sa robil nejako takto:
hodnota = mB + (256 * vB)
mB – menej významý byte v decimálnom vyjadrení
vB – viac významný byte v decimálnom vyjadrení
Prepočet HEXA čísiel na decimálne som zvládal z pamäti, naozaj som to veľmi často potreboval:
XY – prepočítal som si hexa číslicu na decimálnu (napríklad A je desať) a použil som výpočet:
hodnota = (X * 16) + Y
Ak je vám to ešte nejasné, tak hexa číslice sú:
0 = 0
1 = 1
2 = 2
3 = 3
4 = 4
5 = 5
6 = 6
7 = 7
8 = 8
9 = 9
A = 10
B = 11
C = 12
D = 13
E = 14
F = 15
Až tak zabudnuté to ešte nemusí byť, pri maľovaní CSS si najčastejšie volíme práve hexa tvar čísiel. Ja určite, lebo ich vždy vystrihnem z Photoshopu.

Written by rony