Математический расчет в Ассемблере - Assembler (223612)
Формулировка задачи:
Здравствуйте. будьте добры помочь, не могу найти ошибку в коде, конкретно тут.
программа выдает неверные значения, что может быть не так?
;---------------------------------- ;расчет z=(x^3-y)/12y ;-------------------------------- xor eax,eax xor edx,edx mov al, y mov dl, 12 imul dl ;ax=12*y push EAX xor eax,eax mov al,x shl al,3 ;x^3 sub ax,3 ; x^3-3 mov DX,AX pop EAX xor EDX,EDX div EAX ; ax=z
Решение задачи: «Математический расчет в Ассемблере»
textual
Листинг программы
mov al,[X] cbw ;ax=X mov bx,ax ;bx=X imul al ;ax=al*al imul bx ;dx:ax=ax*bx (X^3) mov bl,[Y] xor bh,bh ;cx=Y sub ax,bx sbb dx,0 ;dx:ax=dx:ax-bx (X^3-Y) imul bx,bx,12 ;bx=Y*12 idiv bx ;ax=dx:ax/bx (X^3-Y)/(12*Y), dx=остаток ret X db 7 Y db 3
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д