КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Дополнительные команды сдвига ⇐ ПредыдущаяСтр 5 из 5 Это — команды сдвигов двойной точности: 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.
|