multiply
unknown
assembly_x86
3 years ago
978 B
1
Indexable
multiplier: push EBP mov EBP, ESP push EAX push EBX push ECX push EDX mov EDX, dword[EBP+8] mov EDI, dword[EDX] mov EDX, dword[EBP+28] mov ECX, dword[EDX] ;ECX contient la taille du multiplie comme compteur mov EDX, dword[EBP+16] mov BL, byte[EDX] ;BL contient l'unite du multiplicateur ;push EDX mov EDX, dword[EBP+24] mov ESI, byte[EDX] ;AL contient le premier byte du multiplie pushf repMultiplication: MOV AL, byte[ESI] ;mov EDX, dword[EBP+28] ;EDX contient l'adresse du produit ;SUB dword[EBP+28], ECX ;On soustrait de l'adresse du produit le compteur ECX popf MUL BL AAM pushf MOV byte[EDI], AL INC EDX INC ESI INC EDI CMP ECX, 0 JNE repMultiplication popf mov AL, '0' CMP AL, AH JE NoRest ;Ajouter le reste MOV AL, byte[AH] INC EDI STOSB noRest: pop EDX pop ECX pop EBX pop EAX mov ESP, EBP pop EBP ret
Editor is loading...