Sida 1 av 1

80386 instruktionen DIV, ekvalient formel?

Postat: 27 april 2011, 23:28:54
av blueint
Om en instruktion "div %bx" exekveras av en i386 processor. Är det ekvalient med:

EAX = int( EAX / EBX )
EDX = EAX % EBX

Dvs EAX lika med heltalsdelen av divisionen och EDX lika med decimaldelen. Men då den senare är med heltal så uttrycks den i modulo istället.

Re: 80386 instruktionen DIV, ekvalient formel?

Postat: 27 april 2011, 23:59:45
av sodjan
BX är väl 16 bit så det bör vara DX/AX som är inblandade, inte EAX/EDX.
Det borde bli :
AX = DX:AX / BX
DX = DX:AX % BX

http://download.intel.com/design/intarc ... 319101.pdf
Sid 3-148.

Men igentligen så vat jag inte alls, jag vet inte ett smack om
den arkiekturen... :-)

Re: 80386 instruktionen DIV, ekvalient formel?

Postat: 28 april 2011, 00:38:56
av blueint
"div %ebx" skulle det vara förstås.

Tja.. x86 arkitekturen är tragisk. Och något man vill undvika :dead:
(nödvändligt ont)

Re: 80386 instruktionen DIV, ekvalient formel?

Postat: 28 april 2011, 01:20:45
av sodjan
Blir det inte då :

EAX = int(EAX:EDX / EBX)
EDX = EAX:EDX % EBX

Eller så läste jag helt galet... :-)