Образовательная программа 6B06104 «Вычислительная техника и программное обеспечение»


xchg операнд1, операнд 2 – обменивает операнды. Например, если al=45, ah=37, то после выполнения xchg al, ah будет al=37, ah=45; add



бет26/27
Дата19.10.2022
өлшемі10,77 Mb.
#153958
түріОбразовательная программа
1   ...   19   20   21   22   23   24   25   26   27
Байланысты:
Lab raboty Arkhitektura i organizatsia EVM

xchg операнд1, операнд 2 – обменивает операнды. Например, если al=45, ah=37, то после выполнения xchg al, ah будет al=37, ah=45;

  • add приемник, источник – выполняет сложение приемника и источника, результат заносится в приемник. Источник не изменяется. Но зато меняются флаги:

  • adc приемник, источник – выполняет сложение приемника, источника и флага CF.

    Обычно эта команда используется для сложения чисел повышенной точности.
    Пусть, например, у нас имеются два 64-битных числа: первое в edx: eax (младшее двойное слово в eax, старшее двойное слово в edx), второе – в ebx: ecx. Тогда после выполнения команд: add eax, ecx; adc edx, ebx; в паре регистров edx:eax будет находиться сумма этих 64-битных чисел. Когда были 16-разрядные процессоры, подобным образом складывали 32-битные числа (считая, что каждое состоит из двух 16-битных). Сейчас это не имеет смысла. Более того, процессору все равно, какие числа складывать – 16-разрядные или
    32-разрядные. Скорость одинаковая. Поэтому сложение 32-битных чисел на прямую быстрее, чем с разбиением и сложением 16-битных (в два раза). Но иногда это может понадобиться (например, Турбо-Паскаль не понимает 32-битные регистры). Этим и объясняется, что 16-битные программы медленнее, чем 32-битные;

      • sub приемник, источник – вычитает источник из приемника, результат заносит в приемник;

      • sbb приемник, источник – вычитает из приемника значение источника, затем вычитает значение CF. Ее можно использовать для вычитания 64-битных слов;

      • inc приемник – то же самое, что и add приемник, 1;

      • c приемник – то же самое, что и sub приемник, 1;

      • p операнд1, операнд2 – по сути, вычитание операнда2 из операнда1, только операнды не меняются (команда меняет только флаги). С помощью этой команды обычно выполняются условные переходы (самый очевидный способ);

      • d|or приемник, источник – выполняет логическое по битовое И|ИЛИ над приемником и источником и помещает результат в приемник. Часто используется для выборочного обнуления|объединичивания отдельных битов. Например, команда and al, 00001111b обнулит старшие четыре бита регистра al, а младшие не изменит;

    r приемник, источник – логическое исключающее ИЛИ. Выполняет побитное логическое исключающее ИЛИ над приемником и источником, результат заносится в приемник. Часто используется для обнуления регистров. Например, xor ax, ax обнуляет регистр ax и делает это быстрее, чем mov ax, 0. Этой командой следует пользоваться для обнуления регистров. Мо жете не бояться экзотичности этой команды. Она будет эффективно работать на любом Intel-совместимом компьютере. Эта команда официально поддерживается Intel как команда обнуления регистра;
    st операнд1, операнд2 – по сути, выполняет команду and над операндами, но операнды не меняет, а меняет только флаги аналогично and;

      • t приемник – каждый бит приемника, равный нулю, устанавливается в 1, и каждый бит, равный 1, устанавливается в 0. Флаги не меняются.





    Достарыңызбен бөлісу:
  • 1   ...   19   20   21   22   23   24   25   26   27




    ©engime.org 2024
    әкімшілігінің қараңыз

        Басты бет