.286
.model tiny
.data
tekst_1 db "Wynik = ",'$'
varA db 7
varB db 1
varC db 4
varD db 3
.stack 100h
.code
Start:
mov ax,@data
mov ds,ax
xor ax,ax
;dodanie liczb a + b:
mov al,varA
add al,varB
;odejmowanie liczb a - b:
mov ah,varA
sub ah,varB
;dzielenie liczb (a + b)/c:
mov cx,ax
xor bx,bx
mov bl,varC
xor ax,ax
mov al,cl
div bl
;dzielenie liczb (a - b)/d:
mov dl,al
mov bl,varD
mov al,ch
div bl
;mnozenie liczb ((a + b)/c) * ((a - b)/d):
xor bx,bx
mov bl,dl
mul bl
;wyswietlenie wyniku (cyfry):
mov cx,bx
call _wyswietl
; przetwa 2 linie w konsoli
mov dl,0Ah
int 21h
mov dl,0Ah
int 21h
; odczyt znaku
mov ah,01h
int 21h
; zatrzymanie programu
mov ax,4C00h
int 21h
_wyswietl:
mov ax,@data
mov ds,ax
mov dx, offset tekst_1
xor ax,ax
mov ah,09h
int 21h
mov dx,cx
add dl,02fh ;rzutowanie znaku na cyfre =>
; => dodanie ilosci znaków przed '0' w kodzie ASCI
mov ah,02h
int 21h
mov dl,0Ah
int 21h
ret
to moj program w asemblerze, tresc zadania:Napisać, skompilować i uruchomić program wykonujący następujące działanie:
𝑥 =
(𝑎 + 𝑏) / c ∙ (𝑎 − 𝑏) /d
na danych 8 bitowych. Dobrać tak wartości danych a, b, c i d aby wynik X był cyfrą. Wynik X należy
wyświetlić na ekranie monitora.
wyskakuje error, przy tlink.obj, nie moge znalezc gdzie lezy blad ;/