J'ai un devoir à remettre :

Voici ce que j'ai déja fait :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
main proc
 
    cls
    mov eax,X
    mov ecx,eax
    imul ecx, X
    mov edx,ecx
    imul ecx, X
    imul edx, 11
    sub ecx,edx
    imul eax,98
    add ecx,eax
    sub ecx, 24
 
 
 
 
    PrintHex ecx
 
    ret
 
main endp
Je ne parviens pas à faire les deux dernières questions.
Voici l'intitulé du devoir :

— Concevez un algorithme qui prend pour input un entier X et qui calcule et donne comme output la valeur Y donnée par : Y= X3 – 11 X2 + 98 X – 24 ;
— Implantez votre programme en assembleur. Votre output Y sera calculé en utilisant une arithmétique de 16 bits (n’oubliez pas d’annoter votre sortie.)
— Vérifier le fonctionnement de votre programme au moins pour les valeurs –30, -29, -28, -27, -12, 0, 12, 30, 31, 32.
— Votre programme devrait détecter les dépassements de mémoire (et afficher un message à cet effet.)
— Pour quelles valeurs de X la valeur d’Y est-elle correcte ?