English
In these tables I summarize the registers that used in MUl, DIV/IDIV operations in x86 assembly.
DIV/IDIV registers Table
Section
Divisor Size |
Dividend | Quotient | Remainder | Math. Formula |
1 byte | AX | AL | AH | AX/Divisor = AL+AH |
1 word | DX:AX | AX | DX | DX:AX/Divisor = AX+DX |
1 double word | EDX:EAX | EAX | EDX | EDX:EAX/Divisor = EAX+EDX |
MUL registers Table
Section
Multiplier Size |
2nd Multiplier | Multiplicand | Math |
1 byte | AL | AX | AX = Multiplier*AL |
1 word | AX | DX:AX | DX:AX = Multiplier*AX |
1 double word | EAX | EDX:EAX | EDX:EAX = Multiplier*EAX |
Türkçe
Bu tablolarda, x86 assembly ‘de MUL, DIV/IDIV operasyonlarında kullanılan register’ları özetledim.
DIV/IDIV’de kullanılan registerler Tablosu
#
Bölen Boyutu |
Bölünen | Bölüm | Kalan | Formül |
1 byte | AX | AL | AH | AX/Bölen = AL+AH |
1 word | DX:AX | AX | DX | DX:AX/Bölen = AX+DX |
1 double word | EDX:EAX | EAX | EDX | EDX:EAX/Bölen = EAX+EDX |
MUL’da kullanılan registerler tablosu
#
Çarpan Boyutu |
2. Çarpan | Çarpım | Formül |
1 byte | AL | AX | AX = Çarpan*AL |
1 word | AX | DX:AX | DX:AX = Çarpan*AX |
1 double word | EAX | EDX:EAX | EDX:EAX = Çarpan*EAX |