Студопедия Главная Случайная страница Обратная связь

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

МЕТОДИЧЕСКИЕ УКАЗАНИЯ. Листинг 1 демонстрирует пример применения команд BSR и BSF





Листинг 1 демонстрирует пример применения команд BSR и BSF. Введите код и исследуйте работу программы в отладчике (в частности, обратите внимание на то, как меняется содержимое регистра ВХ после выполнения команд BSF и BSR).

Листинг 1. Сканирование битов

modelsmall

stack 256

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

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

main:; точка входа в программу

movax, @data

movds.ax

.486; это обязательно

xor ax, a x

moval, 02h

bsfbx.ax; bx=l

jz ml; переход, если al=00h

bsr bx.ax

ml:

mov ах, 4с00п; стандартный выход

int 21h

end main

Листинг 2.

Наглядный пример рассогласования последовательностей битов — преобразование неупакованного BCD-числа в упакованное BCD-число. Один из вариантов такого преобразования был рассмотрен нами ранее при обсуждении команды линейного сдвига SHL Попробуем выполнить подобное преобразование с использованием команд сдвига двойной точности (листинг 9.2). В общем случае длина числа может быть произвольной, но при этом нужно учитывать ограничения, которые накладываются используемыми ресурсами процессора. Ограничения связаны в основном с тем, что центральное место в преобразовании занимает регистр ЕАХ, поэтому, если преобразуемое число имеет размер более четырех байтов, то его придется делить на части. Но это уже чисто алгоритмическая задача, поэтому в нашем случае предполагается, что неупакованное BCD-число имеет длину 4 байта.

Листинг 2. Преобразование BCD-числа

modelsmall

stack 256

.data

len=4; длина неупакованного BCD-числа

unpck_BCD label dword

dig_BCD db 2, 4, 3, 6; неупакованное BCD-число 6342

pck_BCD dd 0; pck_BCD=00006342

.code

main:; точка входа в программу

movax, @data

mov ds, ax

xor ax, ax

mov cx.len

.386; этообязательно

moveax, unpck_BCD

ml:

shl eax, 4; убираем нулевую тетраду

shld pck_BCD, eax, 4; тетраду с цифрой заносим в поле pck_BCD

shl eax, 4; убираем тетраду с цифрой из еах

loop ml; цикл

exit:; pck_BCD=00006342

mov ax, 4c00h

int 21h

end main

Команды сдвига двойной точности SHLD и SHRD позволяют осуществлять с максимально возможной скоростью вставку битовой строки из регистра в произвольное место другой (большей) строки битов в памяти и извлечение в регистр битовой подстроки из некоторой строки битов в памяти. В результате этих операций смежные с подстрокой биты по ее обеим сторонам остаются неизменными.

СОДЕРЖАНИЕ РАБОТЫ

Набрать программы и проверить их работоспособность

ВОПРОСЫ ВЫХОДНОГО КОНТРОЛЯ:

1. Назовите команды сдвига.

2. Назовите логические команды.

ДОМАШНЕЕ ЗАДАНИЕ

Выучить команды сдвига и логические команды.


 

Практическаяработа №3







Дата добавления: 2014-11-10; просмотров: 774. Нарушение авторских прав; Мы поможем в написании вашей работы!




Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

Репродуктивное здоровье, как составляющая часть здоровья человека и общества   Репродуктивное здоровье – это состояние полного физического, умственного и социального благополучия при отсутствии заболеваний репродуктивной системы на всех этапах жизни человека...

Случайной величины Плотностью распределения вероятностей непрерывной случайной величины Х называют функцию f(x) – первую производную от функции распределения F(x): Понятие плотность распределения вероятностей случайной величины Х для дискретной величины неприменима...

Схема рефлекторной дуги условного слюноотделительного рефлекса При неоднократном сочетании действия предупреждающего сигнала и безусловного пищевого раздражителя формируются...

Травматическая окклюзия и ее клинические признаки При пародонтите и парадонтозе резистентность тканей пародонта падает...

Подкожное введение сывороток по методу Безредки. С целью предупреждения развития анафилактического шока и других аллергических реак­ций при введении иммунных сывороток используют метод Безредки для определения реакции больного на введение сыворотки...

Принципы и методы управления в таможенных органах Под принципами управления понимаются идеи, правила, основные положения и нормы поведения, которыми руководствуются общие, частные и организационно-технологические принципы...

Studopedia.info - Студопедия - 2014-2025 год . (0.009 сек.) русская версия | украинская версия