Mam problem bo mój program nie liczy idealnie wyniku, gdzieś jest błąd tyle że ja go nie widzę. Proszę o analize kodu i pomoc. (3a-b/a)(d+3)
.MODEL SMALL
; SEGMENT DANYCH
Dane SEGMENT
a EQU 20
b EQU 10
c EQU 3
d EQU 5
;Wynik DB ?
Dane ENDS
; SEGMENT KODU
Kod SEGMENT
ASSUME CS:Kod, DS:Dane, SS:Stosik
Start:
;odtad
jmp poczatek
Wynik DW ?
poczatek:
;dotad - nie jestem pewny
;tutaj ma sie zaczac
;(3*a-b/a)*(d+3)
mov al, a ;al=a
mov bl, 03h ;bl=3
mul bl ;ax=al*bl
mov dl, al ;dl=al
mov ax, b ;ax=b
mov bl, a ;bl=a
div bl ;al=ax/bl
sub dl, al ;dl=dl-al
mov al, dl ;al=dl
mov bl, d ;bl=d
mov cl, 03h ;cl=3
add bl, cl ;bl=bl+cl
mul bl ;ax=al*bl
mov Wynik, ax ;Wynik=ax
;a tutaj sie skonczy
mov ax, 4C00h
int 21h
Kod ENDS
; SEGMENT STOSU
Stosik SEGMENT STACK
Db 100h DUP (?)
Stosik ENDS
; PUNKT STARTOWY
END Start