Студопедия

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника



Дополнительные команды сдвига

Читайте также:
  1. XOR - команда логического исключающего сложения ИЛИ над битами операндов приемник и источник. Формат команды: XOR приемник, источник
  2. В) Команды на руль
  3. Для проведения инструктажа по технике безопасности капитану команды необходимо иметь список участников с указанием Ф.И.О (полностью).
  4. Дополнительные воздействия
  5. ДОПОЛНИТЕЛЬНЫЕ ВЫГОДЫ ОТ ЗАНЯТИЙ ДЗЭН
  6. Дополнительные данные
  7. ДОПОЛНИТЕЛЬНЫЕ ЗАДАНИЯ
  8. Дополнительные и уточняющие
  9. Дополнительные источники
  10. ДОПОЛНИТЕЛЬНЫЕ ИСТОЧНИКИ МОТИВАЦИИ. МОТИВАЦИОННЫЕ МЕРОПРИЯТИЯ

Это — команды сдвигов двойной точности:

shld операнд_1, операнд_2, счетчик_сдвигов — сдвиг влево двойной точности. Команда shld производит замену путем сдвига битов операнда операнд_1 влево, заполняя его биты справа значениями битов, вытесняемых из операнд_2 согласно схеме. Количество сдвигаемых бит определяется значением счетчик_сдвигов, которое может лежать в диапазоне 0...31. Это значение может задаваться непосредственным операндом или содержаться в регистре cl. Значение операнд_2 не изменяется;

shrd операнд_1, операнд_2, счетчик_сдвигов — сдвиг вправо двойной точности. Команда производит замену путем сдвига битов операнда операнд_1 вправо, заполняя его биты слева значениями битов, вытесняемых из операнд_2 согласно схеме. Количество сдвигаемых бит определяется значением счетчик сдвигов, которое может лежать в диапазоне 0...31. Это значение может задаваться непосредственным операндом или содержаться в регистре cl. Значение операнд_2 не изменяется.

 

 

masm

model small ;модель памяти

.data ;сегмент данных

a db 3

b db 2

y db ?

mes db 'конец программы$'

.stack ; сегмент стека

db 256 dup (0)

.code ; сегмент кода

osn proc near ; начало основной процедуры

mov ax,@data ; заносим адрес сегмента данных в регистр ax

mov ds,ax ; ax в ds

mov al,a ;al=a

sal al,1 ;al=2a

mov bl,b ;bl=b

sal bl,3 ;bl=8b

add bl,b ;bl=9b

add al,bl ;al=2a+9b

sar al,2 ;al=(2a+9b)/4

mov y,al ;y=al

lea dx,mes

mov ax,0900H

int 21H

mov ax,4C00H

int 21H

osn endp

end osn

 

Пакет макроассемблера masm позволяет задавать макроопределения (или макросы), представляющие собой именованные группы команд. Они обладают тем свойством, что их можно вставлять в программу в любом месте, указав только имя группы в месте вставки. Режим работы masm поддерживает все основные возможности макроассемблера.

Совместно с упрощенными директивами сегментации используется директива указания модели памяти model, которая управляет размещением сегментов и выполняет функции директивы assume.

 

 


Дата добавления: 2015-09-14; просмотров: 4; Нарушение авторских прав


<== предыдущая лекция | следующая лекция ==>
Циклический сдвиг | Субъективная диалектика выступает как логика и гносеология.
lektsii.com - Лекции.Ком - 2014-2019 год. (1.397 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты