Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Assembler » multiplizieren

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
12.04.2005, 18:50 Uhr
A-l-e-x



wie ist der Befehl in Assembler (MASM;Pentium) zum multiplizieren. Ich kenne zwar das mit fpu, aber es muss doch anders gehen, oder?

mfg A-l-e-x
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
12.04.2005, 20:03 Uhr
Spacelord
Hoffnungsloser Fall


mul wenn ich mich da recht entsinne.

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
12.04.2005, 23:36 Uhr
~CDW
Gast


Syntax:
MUL Operand
Dann wird Operand mit (E)AX multipliziert
Operand kann eine Speichervariable oder ein Register sein.
man beachte dabei dass wenn Operand=1Byte, wird dieser dann mit
AL multiplizeirt und das Ergebnis ist in AX zu bewundern,
bei einem WORD wird es mit AX multipliziert und das Ergebnis steht in DX/AX
schließlich bei einem DWORD wird komplett mit EAX multipliziert und das Ergebist in
EDX,EAX geschrieben.

Speziell zu "Wie jetzt: (E)DX und (E)AX ???"
Wenn man nämlich

Code:
mov ax,0FFFFh
mob bx,2
mul bx


macht, dann kommt ja:1FFFE raus und das passt dann nicht mehr in den AX Register, also
wird es aufgeteilt: FFFE steht dann in AX und die 1 die da nicht mehr reinpasst steht in DX
(man spricht dann auch von höcherwertiges Word(DX) und niererwertiges (AX)
das ganze ist noch aus der Zeit "rübergeschleppt" worden als die CPU nur 16-Bit Register hatte. Als die Extension kam, hat man das für EAX und EDX übernommen =>es ist also möglich 2 32-Bit Zahlen zu multiplizieren und das Ergebnis komplett zu erhalten ohne die FPU bemühen zu müssen:

Code:
mov eax,0ffffffffh
mob ebx,0ffffffffh
mul ebx


kommt FFFFFFFE00000001 raus und in EAX steht dann die 1 und in EDX eben die FFFFFFFE
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Assembler ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: