Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Pascal: asmin imul

NanoSoft [15.02.2006 18:00:07]

#

mitä tuo imul tekee (en ymmärtänyt oppaita, joten niitä on melko turha antaa)?

Ymmärtääkseni IMUL EAX,EAX,666 on sama kuin EAX = EAX * 666, mutta kun tuon tekee vb:llä niin tulee eri vastaus kuin asmilla eli tuo ei taida olla totta...

feenix [17.02.2006 15:43:56]

#

Etumerkillinen kertolasku, EAX = EAX * 666, pitäisi olla ihan.

Metabolix [17.02.2006 15:57:06]

#

Hyvin samoja lukuja tulee kertolaskusta niin asmilla kuin Pascalillakin. Minulla ei ainakaan näyttänyt mikään menevän edx:ään, tai ei ainakaan liittynyt laskun tulokseen mitenkään.

mov eax, A
imul eax, B ; eax = A * B

thefox [18.02.2006 16:46:06]

#

Kyllä IMULin tulos (32-bittisillä operandeilla) menee EDX:EAX:iin.

Metabolix [18.02.2006 17:37:29]

#

Jaa. Kyllä minulla EDX oli itsepintaisesti aivan väärä kertolaskun tulokseen nähden, kun Delphillä testailin tuota.

Edit: Näköjään asiat ovat tänään toisin :) Mikä lie virhe eilen tullut, vaikka mielestäni aivan samaa koodia silloinkin käytin.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta