Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Assembler 01.doc
Скачиваний:
19
Добавлен:
09.11.2019
Размер:
727.04 Кб
Скачать

7. Команды логических операций: and, or, xor, test, not.

7.1. Разработать в COM-формате и записать в текстовом редакторе NORTON программу exand.asm:

MOV AL,11000101B ;Инициализация AL

MOV BL,01011100B ;Инициализация BL

MOV CL,AL ;Копирование AL

AND AL,BL ;Логическое умножение

MOV AL,CL ;Восстановление AL

OR AL,BL ;Логическое сложение

MOV AL,CL ;Восстановление AL

Xor al,bl ;Логическое сравнение

MOV AL,CL ;Восстановление AL

TEST AL,BL ;Управление флагами

NOT AL ;Логическая инверсия

AND: Если оба из сравниваемых битов равны 1, то результат равен 1; во всех остальных случаях результат - 0.

OR: Если хотя бы один из сравниваемых битов равен 1, то результат равен 1; если сравниваемые биты равны 0, то результат - 0.

XOR: Если один из сравниваемых битов равен 0, а другой равен 1, то результат равен 1; если сравниваемые биты одинаковы (оба - 0 или оба - 1), то результат - 0.

TEST: действует как AND - устанавливает флаги, но не изменяет биты.

Логическая команда NOT устанавливает обратное значение битов в байте или слове, в регистре или в памяти: нули становятся единицами, а единицы - нулями.

7.2. Выполните ассемблирование и компоновку разработанной программы.

7.3. Вызовите отладчик DEBUG для пошагового выполнения вашей программы. Выполните трассировку программы определяя регистры, в которых произошли изменения после каждого шага. Содержимое регистра АL необходимо перевести в двоичную форму после выполнения каждой логической команды. При выполнении программы определяйте состояние флага SF после каждой команды. Листинг вашей программы и выводы о выполнении логических команд запишите в отчет.

СОДЕРЖАНИЕ ОТЧЕТА:

1. Листинги программ.

2. Выводы о работе программ.

КОНТРОЛЬНЫЕ ВОПРОСЫ:

1. Объяснить, как выполняется команда JMP.

2. Объяснить, как выполняется команда SHL.

3. Объяснить, как выполняется команда INC.

4. Объяснить, как выполняется команда LOOP.

5. Объяснить, как выполняется команда CALL.

6. Объяснить, как выполняется команда RET.

7. Объяснить, как выполняются команды:

DEC

JNZ

8. Объяснить, как выполняются команды:

CMP

JB

9. Объяснить, как выполняются команды:

CMP

JA

10. Как изменить программу case.asm для: а) определения содержимого TITLEX заглавными буквами; б) преобразования заглавных букв в строчные.

11. Предположим, что регистр DX содержит 10111001 10111001, а регистр CL - 03. Определите содержимое регистра DX после следующих несвязанных команд: а) SHR DX,1; б) SHR DX,CL; в) SHL DX,CL; г) SHL DL,1; д) ROR DX,CL; е) ROR DL,CL.

12. Составьте из нескольких команд фрагмент программы для умножения содержимого регистра АХ на 4.

ОТВЕТЫ:

11. а) 01011100 11011100; б) 00010111 00110111; в) 11001101

11001000; г)10111001 01110010; д) 00110111 00110111; е) 10111001

00110111.

12. SHL AL,1

RCL AH,1

SHL AL,1

RCL AH,1

Л а б о р а т о р н а я р а б о т а N 6

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]