Да, регистр, который используется в качестве операнда, разрешает неоднозначность.(Однако обратите внимание, что ax
является 16-битным регистром, а не 8-битным регистром - это будет ah
или al
для старшего или младшего байта, соответственно.)
Если вы имеете в виду только операнды памяти, вам нужно использовать спецификатор BYTE PTR
, WORD PTR
или DWORD PTR
для устранения неоднозначности, например:
mov dword ptr [eax], 0
В этом примере задается 32-количество бит («двойное слово») по адресу, содержащемуся от eax
до 0.