Реферат: Разработка программы на Ассемблере

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.

 АРИФМЕТИЧЕСКИЕ КОМАНДЫ

1. ADD DST, SRC; сложить содержимое SRC и DST и результат переслать в DST.

  add al, [mem_byte]; mem_byte однобайтовая ячейка памяти

  add [mem_word], dx; mem_word двухбайтовая ячейка памяти

  add ch,10001010b;

2. INC DST; увеличить (DST) на 1 (инкремент (DST)).

К-во Просмотров: 486
Бесплатно скачать Реферат: Разработка программы на Ассемблере