I assume that the source and destination in MOV instruction must have the same size and when I write these instructions:
.data
var dw 0
.code
mov al,56h
mov var,al
I get the error that operands do not match 16-bit address and 8-bit register but in this condition, I don't get any error but still, var is 32 bit(double word) and ax is 16 bit so why I don't get any errors?
.data
var dd 0
.code
mov ax,56h
mov var,ax
I'm using emu 8086.