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

Дан массив из десяти слов, содержащих целые числа. Требу­ется найти максимальное значение.

Текст программы:

model SMALL

stack 100h

dataseg

MAX dw?

MASS dw 10h,20h,30h,5h,40h,15h,20h,70h,35h,34h

codeseg

startupcode

lea BX, MASS; Загрузить адрес массива

mov CX, 10; Установить счетчик

mov AX, [BX]; Первый элемент массива в аккумулятор

BEG: cmp [BX], AX; Сравнить текущий элемент массива с макс.

jl NO; он меньше

mov AX, [BX]; он больше

NO: add BX, 2; Следующий элемент массива

loop BEG;

mov MAX, AX

;Конец работы

QUIT: exitcode 0

end

ВАРИАНТЫ ЗАДАНИЙ

Дан массив из десяти целых знаковых чисел (слов или байтов). Требуется:

1. Найти количество отрицательных чисел. Массив байтов.

2. Найти суммы всех положительных и отрицательных чисел. Массив слов.

3. Найти среднее арифметическое чисел. Массив слов.

4. Найти количество чисел больших 10h. Массив слов.

5. Найти сумму абсолютных величин. Массив байтов.

6. Найти количество положительных чисел. Массив слов.

7. Поменять местами пары соседних чисел. Массив слов.

8. Переставить числа в обратном порядке. Массив байтов.

9. Заменить все отрицательные числа нулями. Массив слов.

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

1. Для чего нужен оператор ptr?

2. В чем отличие команд mov AX, offset MASS и lea AX, MASS?

3. В чем отличие команд mov AX, BX и mov AX, [BX]?

4. В чем отличие команд mov AX, [BP] и mov AX, [BX]?

5. В чем отличие команд mov AX, [BX+2] и mov AX, [BX]+2?

6. В чем отличие команд mov AX, [BX][SI] и mov AX, [SI][BX]?

7. Для организации каких вычислений служат команды loop, loope, loopne?

8. Модифицирует ли какие-нибудь регистры команда loop?

9. Можно ли организовать цикл по счетчику, не используя loop команды?

10. Можно ли организовать цикл while с помощью одной из loop команд?


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

ËÎÃÈ×ÅÑÊÈÅ ÊÎÌÀÍÄÛ

ЦЕЛЬ РАБОТЫ

Цель настоящей работы – освоение логических команд.

ОСНОВНЫЕ СВЕДЕНИЯ

Логические команды

К логическим командам или точнее командам, оперирующим с отдельными битами, можно отнести команды, приведенные ниже, а также команды сдвигов.

ÌÍÅÌÎÊÎÄ OSZAPC ДЕЙСТВИЕ
and DST, SRC xxxxxx поразрядное И, DSTDST & SRC
or DST, SRC xxxxxx поразрядное ИЛИ, DSTDST V SRC
xor DST, SRC xxxxxx поразрядное ИСКЛЮЧАЮЩЕЕ ИЛИ, DSTDSTÅSRC
test DST, SRC xxxxxx поразрядное И без запоминания результата
not OPND xxxxx- поразрядная инверсия, OPND ~OPND

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: