Студопедия — МЕТОДИЧЕСКИЕ УКАЗАНИЯ. Листинг 1 демонстрирует пример применения команд BSR и BSF
Студопедия Главная Случайная страница Обратная связь

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

МЕТОДИЧЕСКИЕ УКАЗАНИЯ. Листинг 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; просмотров: 750. Нарушение авторских прав; Мы поможем в написании вашей работы!



Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Философские школы эпохи эллинизма (неоплатонизм, эпикуреизм, стоицизм, скептицизм). Эпоха эллинизма со времени походов Александра Македонского, в результате которых была образована гигантская империя от Индии на востоке до Греции и Македонии на западе...

Демографияда "Демографиялық жарылыс" дегеніміз не? Демография (грекше демос — халық) — халықтың құрылымын...

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

Ведение учета результатов боевой подготовки в роте и во взводе Содержание журнала учета боевой подготовки во взводе. Учет результатов боевой подготовки - есть отражение количественных и качественных показателей выполнения планов подготовки соединений...

Сравнительно-исторический метод в языкознании сравнительно-исторический метод в языкознании является одним из основных и представляет собой совокупность приёмов...

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

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