Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Практическая часть. 1. Изучить методические указания



1. Изучить методические указания.

2. Подготовить ответы на контрольные вопросы.

3. Введите программу PROG4 с фрагментом из домашнего задания, используя текстовый редактор.

4. Оттранслируйте и скомпонуйте программу в режимах TASM/ZI, TLINK/V.

5. Загрузите отладчик и программу. Проведите ее трассировку. Целесообразно выполнять работу по частям, составляя и отлаживая законченные по смыслу фрагменты.

6. Наблюдайте результаты выполнения команд, используя окна Variables, Watches и/или Inspecting, открываемые из пункта View Главного меню. Сравнивайте полученные результаты с ожидаемыми. Для наблюдения состояния флажков используйте окно Registers.

7. Проанализировать приведенную ниже программу PROG4, написать комментарии ко всем командам сегмента кода, указав при этом тип используемых операндов и способ адресации.

8. Используя в качестве операндов переменные, определенные в сегменте данных, в соответствии с вариантом задания (Таб 4.1.) написать команды для выполнения указанных в таблице операций, вставить их в соответствующий фрагмент программы PROG4.

Таблица 4.1.

№ вар. операция 1-ый операнд 2-ой операнд
  сложение регистр константа байт
  сложение регистр переменная в памяти
  умножение регистр регистр
  сложение переменная в памяти константа байт
  сложение переменная в памяти константа слово
  умножение регистр переменная в памяти
  вычитание регистр константа слово
  сложение переменная в памяти константа байт
  вычитание регистр константа байт
  сложение переменная в памяти регистр
  умножение переменная в памяти константа слово
  вычитание ЯП- косвенная адресация регистр
  вычитание регистр переменная в памяти
  вычитание переменная в памяти константа слово
  вычитание переменная в памяти константа байт

Пример программы

TITLE PROG4 АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ

;

DATASG SEGMENT PARA

X0 DB 64H

X1 DB 40H

X2 DB 16H

X3 DW 4000H

X4 DW 2000H

X5 DW 1000H

Z1 DD 0123BC62H

Z2 DD 0012553AH REZ DD? DATASG ENDS

STACKSG SEGMENT 'Stack'

DB 12 DUP(?) STACKSG ENDS

CODESG SEGMENT PARA 'Code'

BEGIN PROC FAR

ASSUME SS:STACKSG,CS:CODESG,DS:DATASG

PUSH DS SUB AX,AX корректное

PUSH AX MOV AX,DATASG завершение

MOV DS,AX программы. Инициализация сегментного регистра DS.

ПРИМЕРЫ СЛОЖЕНИЯ

MOV AL,X0

MOV BL,X1

ADD AL,BL

ADD AL,X2

ADD X0,BL

ADD BL,

10H ADD X0,25H

ПРИМЕРЫ ВЫЧИТАНИЯ

MOV AX,X3

MOV BX,X4

SUB AX,BX

SUB AX,X5

SUB X3,BX

SUB BX,1000H

SUB X3,256H;

ПРИМЕР СЛОЖЕНИЯ ДВОЙНЫХ СЛОВ

LEA SI, Z1;адрес первого двойного слова.

LEA DI, Z2;адрес второго двойного слова

LEA BX, REZ.;адрес результата.

MOV AX, [SI];загрузка младшего слова Z1.

ADD AX, [DI];сложение младших слов Z1 и Z2.

MOV WORD PTR [BX], AX сохранение младшего слова результата.

INC SI формирование адреса старшего слова Z1

INC SI формирование адреса старшего слова Z2.

INC DI загрузка старшего слова Z1.

INC DI сложение старших слов Z1 и Z2

MOV AX, [SI] и возможного переноса.

ADC AX, [DI] сохранение старшего слова результата.;

MOV WORD PTR [BX+2], AX

. ПРИМЕР УМНОЖЕНИЯ MUL

MOV AL,X0

MUL X1

MOV AX,X3

MUL X5

MOV CX, 20H

MUL CX

ПРИМЕР УМНОЖЕНИЯ IMUL

MOV AX,X3

IMUL X3

MOV CX, -5

IMUL CX

RET

BEGIN ENDP; КОНЕЦ ПРОЦЕДУРЫ;

CODESG ENDS;КОНЕЦ СЕГМЕНТА;

END BEGIN;КОНЕЦ ПРОГРАММЫ

Контрольные вопросы





Дата публикования: 2014-11-18; Прочитано: 469 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...