Последний уровень раздела предыдущего изложения   Текущий уровень изложения предыдущего раздела   Текущий уровень изложения следующего раздела   Первый уровень изложения следующего раздела   Уровень: Глоссарии:


Команды пересылки



1. MOV DST,SRC; переслать (SRC) в (DST). Здесь и далее содержимое регистра, например регистра AL будет обозначаться - (AL) или (al), а пересылка в комментарии будет обозначаться знаком <--  .



    mov al,ch; (al) <-- (ch).     mov cx,dx;     mov bh,[mems];содержимое ячейки памяти с символическим адресом     mems переслать в регистр BH. Можно: mov bh,mems.     mov al,[bx];переслать в аккумулятор содержимое ячейки памяти     с адресом находящимся в регистре BX .     mov bx,OFFSET src;поместить в BX смещение адреса     ячейки памяти SRC, в текущем сегменте.     mov al,table[bx];загрузить в аккумулятор элемент таблицы байтов     с символическим адресом первого элемента table и отстоящий     от этого элемента на (bx) байтов. Другие варианты:     mov al,[table + bx] или     mov al,table + bx.



До выполнения команды mov al,[table + bx]      Регистр BX Регистр AL Адрес Код
0010 XX 0800 (table)
08xx xx
0810 58


После выполнения команды mov al,[table + bx]      Регистр BX Регистр AL Адрес Код
0010 58 0800 (table)
08xx xx
0810 58


2. PUSH RP; поместить на вершину стека содержимое пары регистров RP (например push bx).



3. POP RP; снять с вершины стека два байта и поместить в пару RP (например pop ax).



4. XCHG DST, SRC; поменять местами содержимое (DST) и (SRC). Оба операнда не могут быть одновременно содержимым ячеек памяти.



5. XLAT SRC; извлечь из таблицы с начальным адресом SRC байт данных имеющий номер от начала таблицы = (AL), и поместить его в AL. Адрес SRC должен находиться в регистре BX. Другой вариант: XLATB.



    ....
    .DATA
    src DB 15d,10h,00110101b,'A','B',166d
    .CODE
    ....
    mov al,2; в результате выполнения этих трех команд
    mov bx,OFFSET src; в регистр AL будет загружен код
    xlatb; 00110101b = 35h = 53d = ASCII'5'



6. IN ACCUM, PORT; поместить в аккумулятор AL или AX байт или слово из порта с адресом PORT. Если адрес порта <= FF то адрес порта может указываться непосредственно , если адрес порта > FF, то адрес порта указывается косвенно , через содержимое регистра DX ( специальная функция регистра общего назначения).



in al,0a5h;ввести в AL байт данных из ВУ с адресом порта A5h .... mov dx,379h;ввести в аккумулятор AL байт данных из in al,dx;внешнего устройства с адресом порта 379h



7. OUT PORT, ACCUM; переслать из аккумулятора AL или AX байт или слово в ВУ с символическим адресом PORT.



    out 0ffh,al;
    ....
    mov dx,37Ah;переслать слово данных из AX в ВУ с адре-
    out dx,ax;сом порта 37Ah



8. LEA RP,M; загрузить в регистр RP эффективный адрес (смещение) ячейки памяти с символическим адресом M.



lea di, rus; аналог этой команды - mov di, OFFSET rus.