Bonjour tout le monde.

Bon. Voila, ceci est mon premier programme en assembleur. Il s agit de résoudre cette équation : x = (ab*b-cd*d)/(ac)(ac)

J'ai tout écrit, compilé (avec le logiciel TASM) mais quand je regarde la valeur dans les registres elle est tout a fait erronée. Quelqu'un peut-il me montrer où est l'erreur; s'il-vous-plaît ? J'ai mis d*d car je n'ai pas trouvé le symbol « carré ».

Code asm : 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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
.model small
.stack 100h
 
.data
 
 
a1 dw -7
b1 dw 32
c1 dw -12
d1 dw 45
 
x1 dw ?
 
 
.code
 
main   proc
  mov  ax,@data
  mov  ds,ax
 
 
 
mov  ax,b1
imul ax
mov  bx,a1
mul  bx
mov  cx,ax
mov  ax,d1
imul ax
mov  bx,c1
imul bx
sub  cx,ax
mov  ax,a1
mov  bx,c1
imul bx
imul ax
mov  bx,ax
mov  ax,cx
idiv bx
 
mov  ax,04C00h
  int  21h
 
main endp
end main