start:
MOV AX,0012h
MOV BX,0000h
MOV CX,0033h
MOV DX,0000h
MOV [100h],AX
MOV [102h],BX
MOV [104h],CX
MOV [106h],DX
MOV SI,40h
tekrar:
MOV DI,AX ;sonucu indeks kaydeder
AND DI,01h
XOR DI,01h
JZ topla_kaydir
devam:
RCR DX,1
RCR CX,1
RCR BX,1
RCR AX,1
SHR [100h],1
SHR [102h],1
DEC SI
CMP SI,0
JNZ tekrar
JMP son
topla_kaydir:
ADD DX,[104h]
ADC CX,[104h]
JMP devam
This is part of my code. I want to multiply two 32-bit numbers without using mul
operation and extended registers. I can't get the correct result.