Memoryde MyVar adindaki degiskenin kupunu hesaplayip ardindan memorydeki Hacim degiskenine yazalim.
lea bx, MyVar ; MyVar degiskenin adresini bx icine oku
mov ax, [bx] ; ax'e MyVar degerini oku
mov bx, ax ; Myvar degerini bx de de saklayalim
mul ax ; ax in karesini aldik. Sonuc ax icinde
mul bx ; ax kare ile ax'i carptik sonuc ax icinde
lea bx, Hacim ; Hacim degiskenin adresini bx icine oku
mov [bx], ax ; ax icinde hesaplanmis hacim verisini Hacim degiskenine yaz,
Dedigim gibi bu sadece kenari 0...40 araliginda olan kuplerin hacmini hesaplayabilir.
Yapmaniz gereken 16x16 ve 32x16 carpma rutinlerini yazmaniz gerekiyor.
Cunku bir kenari 0...65535 araliginda olan sayinin karesi 32 bit sonuc uretir.
Bunu da tekrar 16 bit ile carparsaniz 48 bit sonuc cikar.
Dolayisi ile Hacim hesabindan sonra yapacaginiz tum islemler 48 bit matematik islem olmak zorunda.
Hocaniz fazla kasmis.