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

Практическая часть

Пример №1. Найти значение выражения , где a=2, b=3.

Решение:

Результат работы программы:

Разберем задачу более подробно.

  • - помещаем данные, находящиеся в регистрах eax, ebx в стек.

  • - пересылает значение 2 в регистр ebx.

  • - производиться сложение и результат помещается в регистр ebx.

  • - пересылает значение 2 в регистр eax.

  • - производиться умножение и результат помещается в регистр eax.

  • - конвертирует двойное слово в учетверенное слово.

  • - производит целочисленное деление «регистра» eax на ebx.

  • - считывает данные из стека.

Пример №2. Напишем программу, вычисляющую значение выражения , при a=17,b=1.

Результат работы программы:

Задания для самостоятельной работы

  1. Ознакомьтесь с теоретическим материалом.

  2. Разберите все примеры из практической части лабораторной работы, т.е. наберите и просмотрите их работу.

  3. Выполните индивидуальные задания.

Индивидуальные варианты

1. Найдите значение выражения (по 2 примера)

Номер варианта

Условие

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

Приложение №1.

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

  1. DB — резервирование памяти для данных размером 1 байт. Директивой DB можно задавать следующие значения:

  • выражение или константу, принимающую значение из диапазона -128...+127(для чисел со знаком) или 0...255 (для чисел без знака);

  • 8-разрядное относительное выражение, использующее операции HIGH и LOW;

  • символьную строку из одного или более символов, которая заключается в кавычки (в этом случае определяется столько байтов, сколько символов в строке).

  1. DW — резервирование памяти для данных размером два байта. Директивой DW

можно задавать следующие значения:

  • выражение или константу, принимающую значение из диапазона 32768...32767 (для чисел со знаком) или 0...65535 (для чисел без знака);

  • выражение, занимающее 16 или менее битов, в качестве которого может выступать смещение в 16-битовом сегменте или адрес сегмента;

  • 1-или 2-байтовая строка, заключенная в кавычки.

  1. DD — резервирование памяти для данных размером четыре байта. Директивой DD можно задавать следующие значения:

  • выражение или константу, принимающую значение из диапазона -32768...+32 767 (для чисел со знаком и процессора i8086), 0...65 535 (для чисел без знака и процессора 18086), -2 147 483 64S...+2 147 483 647 (для чисел со знаком и процессора 1386 и выше) или 0...4 294 967 295 (для чисел без знака и процессора 1386 и выше);

  • относительное или адресное выражение, состоящее из 16-разрядного адреса сегмента и 16-разрядного смещения;

  • строку длиной до 4 символов, заключенную в кавычки.

  1. DF и DP — резервирование памяти для данных размером 6 байтов. Директивами DF и DP можно задавать следующие значения:

    • выражение или константу, принимающую значение из диапазона

-32 768...+32 767 (для чисел со знаком и процессора 18086), 0...65 535 (для чисел без знака и процессора 18086), -2 147 483 64S...+2 147 483 647 (для чисел со знаком и процессора 1386 и выше) или 0...4 294 967 295 (для чисел без знака и процессора 1386 и выше);

  • относительное или адресное выражение, состоящее из 32 или менее битов (для i80386) или 16 или менее битов (для первых моделей процессоров Intel);

  • адресное выражение, состоящее из 16-разрядного сегмента и 32-разрядного

смещения;

  • константу со знаком из диапазона -247...247 - 1;

  • константу без знака из диапазона 0...248 - 1;

  • строку длиной до 6 байтов, заключенную в кавычки.

  1. DQ — резервирование памяти для данных размером 8 байтов. Директивой DQ можно задавать следующие значения:

  • выражение или константу, принимающую значение из диапазона -32 768...+32 767 (для чисел со знаком и процессора 18086), 0...65 535 (для чисел без знака и процессора 18086), -2 147 483 64S...+2 147 483 647 (для чисел со знаком и процессора 1386 и выше) или 0...4 294 967 295 (для чисел без знака и процессора 1386 и выше);

  • относительное или адресное выражение, состоящее из 32 или менее битов (для i80386) или 16 или менее битов (для первых моделей процессоров Intel);

  • константу со знаком из диапазона -263...263~ 1;

  • константу без знака из диапазона 0...264 - 1;

  • строку длиной до 8 байтов, заключенную в кавычки.

  1. DT — резервирование памяти для данных размером 10 байтов. Директивой DT можно задавать следующие значения:

  • выражение или константу, принимающую значение из диапазона -32 768...+32 767 (для чисел со знаком и процессора i8086), 0...65 535 (для чисел без знака и процессора 18086), -2 147 483 64S...+2 147 483 647 (для чисел со знаком и процессора 1386 и выше) или 0...4 294 967 295 (для чисел без знака и процессора 1386 и выше);

  • относительное или адресное выражение, состоящее из 32 или менее битов (для i80386) или 16 или менее битов (для первых моделей);

  • адресное выражение, состоящее из 16-разрядного сегмента и 32-разрядного смещения;

  • константу со знаком из диапазона -279...279 - 1;

  • константу без знака из диапазона 0...280 - 1;

  • строку длиной до 10 байтов, заключенную в кавычки;

  • упакованную десятичную константу в диапазоне 0...99 999 999 999 999 999 999.

25

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