-1
Я должен научиться ассамблеей для моего университета, и мне нужно сделать это:операнда не соответствует ошибке
(a+b+c+1) *(a+b+c+1) /((a-b+d)*(a-b+d)).
Когда я пытаюсь создать исполняемый файл с помощью команды «TASM» я получаю это сообщение:
**Error** lab1.ASM(14) Operand types do not match
**Error** lab1.ASM(15) Operand types do not match
**Warning* lab1.ASM(30) Open segment:Data
Вот мой код:
assume cs:code,ds:data
data segment
a db 1
b db 2
c db 3
d db 4
code segment
start:
mov ax,data
mov ds,ax
mov al,a
mov ah,0
add ax,b ;ax=a+b
add ax,c ;ax=a+b+c
add ax,1 ;ax=a+b+c+1
mov bx,ax ;bx=ax
mul bx ;dx:ax=(a+b+c+1) *(a+b+c+1)
mov al,a
mov ah,0
sub al,b ; al=a-b
add al,d ; al=a-b+d
mov bl,al ; bl=al
mul bl ; ax=(a-b+d)*(a-b+d)
mov bx,ax
div bx ; dx:ax :bx =(a+b+c+1) *(a+b+c+1) /((a-b+d)*(a-b+d))
mov ax,4c00h
int 21h
code ends
end start
Это не совсем понятно «что вам нужно сделать», и не ясно, на какие строки ссылаются ваши сообщения об ошибках. –