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

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

МЕТОДИЧЕСКИЕ УКАЗАНИЯ. Листинг 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 оперирует с двумя категориями...

Тема 5. Анализ количественного и качественного состава персонала Персонал является одним из важнейших факторов в организации. Его состояние и эффективное использование прямо влияет на конечные результаты хозяйственной деятельности организации.

Билет №7 (1 вопрос) Язык как средство общения и форма существования национальной культуры. Русский литературный язык как нормированная и обработанная форма общенародного языка Важнейшая функция языка - коммуникативная функция, т.е. функция общения Язык представлен в двух своих разновидностях...

Патристика и схоластика как этап в средневековой философии Основной задачей теологии является толкование Священного писания, доказательство существования Бога и формулировка догматов Церкви...

Тема: Составление цепи питания Цель: расширить знания о биотических факторах среды. Оборудование:гербарные растения...

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

Типовые примеры и методы их решения. Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно. Какова должна быть годовая номинальная процентная ставка...

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