47. Команды пересылки данных.
Команды пересылки данных осуществляют обмен данными и адресами между регистрами и ячейками памяти или портами ввода-вывода.
Mov <приемник>,<источник>
Пересылка данных из источника в приемник. Т.е. пересылка операндов в/из системных регистров, из памяти в регистр.
Mov ax, bx
Команда mov не может непосредственно пересылать из одной области памяти в другую, а только в регистр или из регистра. Если надо обмен в памяти сделать, то меняют через регистр.Нельзя также пересылать из одного сегментного регистра в другой (только через регистры общего назначения), нельзя грузить в сегментный регистр непосредственно из памяти, нельзя посылать через mov что либо в cs (так как это будет изменение потока программы).
Для двунаправленной пересылки данных применяют команду XCHG. Естественно, что операнды должны иметь один тип. Не допускается (как и для всех команд ассемблера) напрямую обменивать между собой содержимое двух ячеек памяти.
xchg ах,Ьх ;обменять содержимое регистров ах и Ьх
;обменять содержимое регистра ах и слова в памяти по адресу в [si]:
xchg ax,word ptr [si]