no, nie obliczysz tego używając arytmetyki całkowitej - to tak jakbyś chciał pokazać na palcach liczbę 1/3.
nie wiem, czy na emu x86 mozna używać FPU, jesli tak, to kod wyglądać moze tak:
[zakładamy w tym kodzie, ze zmienne A,B,C sa float-ami.]
1. fld1
2. fld dword ptr[A] //A
3. fsub dword ptr[B] //B
4. fmul st(0),st(0)
5. fdivp st(1),st(0)
6. fstp dword ptr[C] //wynik do c
co do Twojego kodu, jeśli już coś dzielisz, to zawsze przedtem zeruj rejest dx - to MSB liczby dzielonej, jesli masz tam śmietnik, to z dzielenia wyjdzie smietnik. Druga sprawa, jesli jednak musi to być wykonane na intach, to mozesz zamiast jedynki podstawić liczbę 1000.
np. 1/4 = 0.25 ( ale ax=0), wiec niech bedzie 1000/4 = 250 i w ax to samo - traktujesz później tysiące jako jednostki, wszystko co mniejsze od 1000 jako resztę ułamkową.