Voilaje fais mais premier pas en ASM sous Delphi
Je cherche à faire une division de long et de recuperer à la fois le resultat de la division et le reste (modulo)
Je passe donc en parametre le nombre à diviser, le diviseur et je voudrait avoir le dividende et le rest
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
Procedure DivModInt(Divise,Diviseur:longint;VAR Dividende,Reste:Longint);
ASm
        PUSH    EBX
        MOV    EBX,EDX
        MOV    EDX,EAX
        CDQ
        IDIV    BX
        MOV    EBX,Reste
        MOV    [ECX],AX
        MOV    [EBX],DX
        POP    EBX
end;

J'ai essaye avec une valeur fixe et cela semblait marcher mais
Mais cela ne va pas tres bien lorsque je fais une boucle pour faire varie mes parametre
long i,R,S
for(i=10;i<1000;i++)
DivModInt(i,10,R,S)
Quelle brillante erreur ai-je commis?
JKohn