[OSy] deleni/moduleni 64bitovych cisel
Martin Decky
decky at dsrg.mff.cuni.cz
Wed Oct 22 23:00:02 CEST 2008
Hezky vecer,
> pri linkovani kernelu se mi dostalo chybovych hlasek (viz nize), ze
> kterych jsem usoudil, ze se jedna o problem s delenim a modulenim.
> Ukazalo se, ze jde o operace s 64bitovymi cisly. Chci se zeptat,
> jestli je to tedy tak, ze deleni a moduleni s 64bitovymi integery nas
> MIPS nepodporuje
Ano, skutecne je tomu tak, 32bitova varianta MIPSu deleni 64bitovych
integeru neumi.
Reseni jsou v zasade dve:
a) 64bitove integery delit nebudete. Ve vetsine pripadu se bez toho da
dost dobre obejit nebo vymyslet jiny algoritmus, ktery si vystaci jen
s 32bitovymi cisly a nejakymi dalsimi jednoduchymi operacemi.
b) Prislusne funkce na 64bitove deleni a zbytek si sami
naimplementujete. Inspiraci muzete hledat napriklad v HelenOSu:
http://trac.helenos.eu/trac.fcgi/browser/trunk/kernel/genarch/src/softint/division.c
M.D.
More information about the NSWI004
mailing list