Студопедия

КАТЕГОРИИ:

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


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




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

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; просмотров: 68; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.008 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты