Разработать программу выполнения элементарных операций над заданными тремя числами в соответствии с заданием a⊕b∨(c-d)

Выдаёт ошибку Operand types do not match на строчке mov al,d

.model small
.data
b   db 12
c   db 100
a   dw 500
d   dw 1000
y   dw ?
.stack 256
.code
start:
mov ax,@data    ;Настраиваем сегментный регистр
mov ds,ax
mov al,c    ;c
cbw ;расширить до 16 бит    
sub ax,d    ;a+b+c
mov cx,ax   ;cx=a+b+c
mov dx,a    ;a
mov al,d    ;d - ***Operand types do not match***
cbw ;расширить до 16 бит    
xor dx,ax   ;a xor d
or dx,cx    ;a xor d or a+b+c
mov y,dx    ;сохранить результат 
mov ax,4c00h    ;закончить программу
int 21h
end start

Ответы (0 шт):