Исследование арифметических операций. Лабораторная №4 (1), 4 семестр, 7 вариант
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
Лабораторная работа №4.
Исследование арифметических операций
1. ЦЕЛЬ РАБОТЫ
Получение практических навыков использования операций сложения, вычитания и умножения; освоение использования окон Module и Inspect программы TURBO DEBUGGER.
2. РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА
2.1. Абель П. Язык Ассемблера для IBM PC и программирования /Пер. c англ. М.:Высш. шк., 1992,c 173-190.
2.2. Белецкий Я. Энциклопедия языка Си: Пер. c польск.-М.:Мир,1992, с 394-406.
3. ПОДГОТОВКА К РАБОТЕ
3.1. Изучить методические указания.
3.2. Подготовить ответы на контрольные вопросы.
3.3. Проанализировать приведенную ниже программу PROG4, написать комментарии ко всем командам сегмента кода, указав при этом тип используемых операндов и способ адресации.
3.4. Используя в качестве операндов переменные, определенные в сегменте данных, в соответствии с вариантом задания (Таб. 4.1.) написать команды для выполнения указанных в таблице операций, вставить их в соответствующий фрагмент программы PROG4.
Таблица 4.1.
№ вар. операция 1-ый операнд 2-ой операнд
1 сложение регистр константа байт
2 сложение регистр переменная в памяти
3 умножение регистр регистр
4 сложение переменная в памяти константа байт
5 сложение переменная в памяти константа слово
6 умножение регистр переменная в памяти
7 вычитание регистр константа слово
8 сложение переменная в памяти константа байт
9 вычитание регистр константа байт
10 сложение переменная в памяти регистр
11 умножение переменная в памяти константа слово
12 вычитание ЯП- косвенная адресация регистр
13 вычитание регистр переменная в памяти
14 вычитание переменная в памяти константа слово
15 вычитание переменная в памяти константа байт
4. КОНТРОЛЬНЫЕ ВОПРОСЫ
4.1. Сколько операндов могут иметь команды арифметических операций для процессора К1810ВМ86 (I8086)?
4.2. Чем отличаются команды ADD и ADC?
4.3. Где сохраняется перенос, возникающий при выполнении операции сложения?
4.4. Какие типы операндов могут использоваться в качестве dst и в качестве src в операциях сложения и вычитания?
4.5. Какую операцию выполняет команда SBB?
4.6. Какие операнды могут иметь команды INC и DEC?
4.7. Можно ли использовать в команде сложения или вычитания операнды разной длины?
4.8. Какую операцию выполняет команда CMP?
4.9. Каким двум командам эквивалентна команда NEG?
4.10. Где могут располагаться операнды для выполнения умножения?
4.11. Чем определяется длина произведения при умножении?
4.12. Чем определяются знаки частного и остатка при выполнении деления?
4.13. Как умножить и разделить на константу?
5. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
5.1. Введите программу PROG4 с фрагментом из домашнего задания, используя текстовый редактор.
5.2. Оттранслируйте и скомпонуйте программу в режимах TASM/ZI, TLINK/V.
5.3. Загрузите отладчик и программу. Проведите ее трассировку. Целесообразно выполнять работу по частям, составляя и отлаживая законченные по смыслу фрагменты.
Наблюдайте результаты выполнения команд, используя окна Variables, Watches и/или Inspecting, открываемые из пункта View Главного меню. Сравнивайте полученные результаты с ожидаемыми. Для наблюдения состояния флажков используйте окно Registers.
6. ПРИМЕР ПРОГРАММЫ
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 ;формирование адреса
INC SI ; старшего слова Z1.
INC DI ;формирование адреса
INC DI ; старшего слова Z2.
MOV AX,[SI] ;загрузка старшего слова Z1.
ADC AX,[DI] ;сложение старших слов Z1 и Z2
; и возможного переноса.
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 ;КОНЕЦ ПРОГРАММЫ
7. КРАТКАЯ ИНФОРМАЦИЯ
Если программа скомпонована в режиме /v, то после ее загрузки отладчиком, открывается окно Module. Стрелка показывает на подлежащую исполнению команду. Клавишей F2 можно расставлять и снимать ловушки в той строке, где расположен курсор. Окно Inspect можно открыть из локального меню окна Module (alt-F10). При этом отладчик запрашивает имя подлежащих контролю переменной или регистра. Контролировать состояния переменных можно также в окнах Variables и Watches, вызываемых из пункта View главного меню.
Окно переменных Variables позволяет наблюдать все переменные, доступные в месте останова программы. В локальном окне пункт Inspect дает доступ к полной информации о типе, значении и адресе хранения выделенной переменной. Отдельные переменные программист может задать для анализа в окне Watches. Для помещения переменной в это окно следует подвести курсор к идентификатору переменной и нажать Ctrl+W. Для анализа выражения его следует выделить (Ins+ стрелки), а затем нажать Ctrl+W. Используя локальное меню, можно исследовать внутреннюю структуру переменных. Положение и размер окон можно изменять, пользуясь курсорными клавишами при включенном режиме Scroll Lock (Размер регулируется при нажатой клавише Ctrl).
Исследование арифметических операций
1. ЦЕЛЬ РАБОТЫ
Получение практических навыков использования операций сложения, вычитания и умножения; освоение использования окон Module и Inspect программы TURBO DEBUGGER.
2. РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА
2.1. Абель П. Язык Ассемблера для IBM PC и программирования /Пер. c англ. М.:Высш. шк., 1992,c 173-190.
2.2. Белецкий Я. Энциклопедия языка Си: Пер. c польск.-М.:Мир,1992, с 394-406.
3. ПОДГОТОВКА К РАБОТЕ
3.1. Изучить методические указания.
3.2. Подготовить ответы на контрольные вопросы.
3.3. Проанализировать приведенную ниже программу PROG4, написать комментарии ко всем командам сегмента кода, указав при этом тип используемых операндов и способ адресации.
3.4. Используя в качестве операндов переменные, определенные в сегменте данных, в соответствии с вариантом задания (Таб. 4.1.) написать команды для выполнения указанных в таблице операций, вставить их в соответствующий фрагмент программы PROG4.
Таблица 4.1.
№ вар. операция 1-ый операнд 2-ой операнд
1 сложение регистр константа байт
2 сложение регистр переменная в памяти
3 умножение регистр регистр
4 сложение переменная в памяти константа байт
5 сложение переменная в памяти константа слово
6 умножение регистр переменная в памяти
7 вычитание регистр константа слово
8 сложение переменная в памяти константа байт
9 вычитание регистр константа байт
10 сложение переменная в памяти регистр
11 умножение переменная в памяти константа слово
12 вычитание ЯП- косвенная адресация регистр
13 вычитание регистр переменная в памяти
14 вычитание переменная в памяти константа слово
15 вычитание переменная в памяти константа байт
4. КОНТРОЛЬНЫЕ ВОПРОСЫ
4.1. Сколько операндов могут иметь команды арифметических операций для процессора К1810ВМ86 (I8086)?
4.2. Чем отличаются команды ADD и ADC?
4.3. Где сохраняется перенос, возникающий при выполнении операции сложения?
4.4. Какие типы операндов могут использоваться в качестве dst и в качестве src в операциях сложения и вычитания?
4.5. Какую операцию выполняет команда SBB?
4.6. Какие операнды могут иметь команды INC и DEC?
4.7. Можно ли использовать в команде сложения или вычитания операнды разной длины?
4.8. Какую операцию выполняет команда CMP?
4.9. Каким двум командам эквивалентна команда NEG?
4.10. Где могут располагаться операнды для выполнения умножения?
4.11. Чем определяется длина произведения при умножении?
4.12. Чем определяются знаки частного и остатка при выполнении деления?
4.13. Как умножить и разделить на константу?
5. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
5.1. Введите программу PROG4 с фрагментом из домашнего задания, используя текстовый редактор.
5.2. Оттранслируйте и скомпонуйте программу в режимах TASM/ZI, TLINK/V.
5.3. Загрузите отладчик и программу. Проведите ее трассировку. Целесообразно выполнять работу по частям, составляя и отлаживая законченные по смыслу фрагменты.
Наблюдайте результаты выполнения команд, используя окна Variables, Watches и/или Inspecting, открываемые из пункта View Главного меню. Сравнивайте полученные результаты с ожидаемыми. Для наблюдения состояния флажков используйте окно Registers.
6. ПРИМЕР ПРОГРАММЫ
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 ;формирование адреса
INC SI ; старшего слова Z1.
INC DI ;формирование адреса
INC DI ; старшего слова Z2.
MOV AX,[SI] ;загрузка старшего слова Z1.
ADC AX,[DI] ;сложение старших слов Z1 и Z2
; и возможного переноса.
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 ;КОНЕЦ ПРОГРАММЫ
7. КРАТКАЯ ИНФОРМАЦИЯ
Если программа скомпонована в режиме /v, то после ее загрузки отладчиком, открывается окно Module. Стрелка показывает на подлежащую исполнению команду. Клавишей F2 можно расставлять и снимать ловушки в той строке, где расположен курсор. Окно Inspect можно открыть из локального меню окна Module (alt-F10). При этом отладчик запрашивает имя подлежащих контролю переменной или регистра. Контролировать состояния переменных можно также в окнах Variables и Watches, вызываемых из пункта View главного меню.
Окно переменных Variables позволяет наблюдать все переменные, доступные в месте останова программы. В локальном окне пункт Inspect дает доступ к полной информации о типе, значении и адресе хранения выделенной переменной. Отдельные переменные программист может задать для анализа в окне Watches. Для помещения переменной в это окно следует подвести курсор к идентификатору переменной и нажать Ctrl+W. Для анализа выражения его следует выделить (Ins+ стрелки), а затем нажать Ctrl+W. Используя локальное меню, можно исследовать внутреннюю структуру переменных. Положение и размер окон можно изменять, пользуясь курсорными клавишами при включенном режиме Scroll Lock (Размер регулируется при нажатой клавише Ctrl).
Дополнительная информация
Учебное заведение: Сибирский Государственный Университет Телекоммуникаций и Информатики Межрегиональный центр переподготовки специалистов
Год сдачи: 2018г
Предмет: ЭВМ и периферийные устройства
Преподаватель: Морозов Ю.В.
Оценка: Зачёт
Год сдачи: 2018г
Предмет: ЭВМ и периферийные устройства
Преподаватель: Морозов Ю.В.
Оценка: Зачёт
Похожие материалы
Исследование арифметических операций.
Doctor_Che
: 9 февраля 2012
ЦЕЛЬ РАБОТЫ
Получение практических навыков использования операций сложения, вычитания и умножения; освоение использования окон Module и Inspect программы TURBO DEBUGGER.
1. Изучить методические указания.
2. Подготовить ответы на контрольные вопросы.
3. Проанализировать приведенную ниже программу PROG4, написать комментарии ко всем командам сегмента кода, указав при этом тип используемых операндов и способ адресации.
4. Используя в качестве операндов переменные, определенные в сегменте данных, в
40 руб.
Исследование арифметических операций
botkin
: 14 февраля 2011
Организация ЭВМ и систем.Лабораторная работа 4
Используя в качестве операндов переменные, определенные в сегменте данных, в соответствии с вариантом задания, написать команды для выполнения указанных в таблице операций, вставить их в соответствующий фрагмент программы.
Вариант 2
80 руб.
Исследование арифметических операций
1231233
: 21 сентября 2010
«Организация ЭВМ и систем» Лабораторная работа № 4 Вариант № 03
Ответы на контрольные вопросы:
1. Сколько операндов могут иметь команды арифметических операций для процессора К1810ВМ86 (I8086)?
2. Чем отличаются команды ADD и ADC?
ADD – Сложение двух операндов источник и приемник размерностью байт, слово или двойное слово.
3. Где сохранится перенос, возникающий при выполнении операции сложения?
При выходе за разрядную сетку результата, имеется флаг переноса cf. Он располагается в бите 0 ре
23 руб.
Лабораторная работа №4 по дисциплине: Архитектура ЭВМ ИССЛЕДОВАНИЕ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ, 7 вариант
Prorabs
: 7 октября 2019
ИССЛЕДОВАНИЕ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ
1. ЦЕЛЬ РАБОТЫ
Получение практических навыков использования операций сложения, вычитания и умножения; освоение использования окон Module и Inspect программы TURBO DEBUGGER.
130 руб.
ИССЛЕДОВАНИЕ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ. Лабораторная работа №4. Вариант №1
worknecro
: 21 октября 2015
ЛАБОРАТОРНАЯ РАБОТА N4
ИССЛЕДОВАНИЕ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ
1. ЦЕЛЬ РАБОТЫ
Получение практических навыков использования операций сложения, вычитания и умножения; освоение использования окон Module и Inspect программы TURBO DEBUGGER.
3. ПОДГОТОВКА К РАБОТЕ
3.1. Изучить методические указания.
3.2. Подготовить ответы на контрольные вопросы.
3.3. Проанализировать приведенную ниже программу PROG4, написать комментарии ко всем командам сегмента кода, указав при этом тип используемых операндов и сп
50 руб.
ЭВМ и переферийные устройства Лабораторная №4 "Исследование арифметических операций" Вариант 8
Cherebas
: 1 июля 2013
Исследование арифметических операций
3.1. Изучить методические указания.
3.2. Подготовить ответы на контрольные вопросы.
3.3. Проанализировать приведенную ниже программу PROG4, написать комментарии ко всем командам сегмента кода, указав при этом тип используемых операндов и способ адресации.
3.4. Используя в качестве операндов переменные, определенные в сегменте данных, в соответствии с вариантом задания (Таб. 4.1.) написать команды для выполнения указанных в таблице операций, вставить их в
150 руб.
Лабораторная работа n4 исследование арифметических операций
HELL_Phoenix
: 23 октября 2009
1. ЦЕЛЬ РАБОТЫ
Получение практических навыков использования операций сложения, вычитания и умножения; освоение использования окон Module и Inspect программы TURBO DEBUGGER.
2. ПОДГОТОВКА К РАБОТЕ
2.1. Изучить методические указания.
2.2. Подготовить ответы на контрольные вопросы.
2.3. Проанализировать приведенную ниже программу PROG4, написать комментарии ко всем командам сегмента кода, указав при этом тип используемых операндов и способ адресации.
2.4. Используя в качестве операндов переменные
Лабораторная работа №4. Исследование арифметических операций. Вариант №2. Архитектура ЭВМ
Отличник1
: 30 января 2021
АРХИТЕКТУРА ЭВМ
1. Цель работы
Получение практических навыков использования операций сложения, вычитания и умножения; освоение использования окон Module и Inspect программы TURBO DEBUGGER.
2. Рекомендуемая литература
2.1. Абель П. Язык Ассемблера для IBM PC и программирования /Пер.c англ М.:Высш.шк., 1992,c 173-190.
2.2. Белецкий Я. Энциклопедия языка Си: Пер. c польск.-М.:Мир,1992, с 394-406.
3. Подготовка к работе
3.1. Изучить методические указания.
3.2. Подготовить ответы на контрольные
200 руб.
Другие работы
Принципи архітектурно-планувальних рішень православних духовних навчальних закладів
GnobYTEL
: 1 ноября 2012
Робота виконана в Київському національному університеті будівництва і архітектури Міністерства освіти і науки України.
Науковий керівник доктор архітектури, професор Єжов Валентин Іванович, Київський національний університет будівництва і архітектури, завідувач кафедри основ архітектури та архітектурного проектування
Офіційні опоненти: доктор архітектури, професор Мироненко Віктор Павлович Харківський державний технічний університет будівництва і архітектури Міністерства освіти і науки України,
15 руб.
Контрольная работа и Лабораторные работы №№1,2 по дисциплине: Архитектура и частотно-территориальное планирование беспроводных сетей. Цифры 02
IT-STUDHELP
: 30 декабря 2021
ЦЕЛЬ РАБОТЫ: Изучить характеристики спутникового канала связи. Произвести расчет основных характеристик спутникового канала связи.
ЗАДАНИЕ НА КОНТРОЛЬНУЮ РАБОТУ
Необходимо: Рассчитать производительность канала С, бит/с и вероятность символьной ошибки Ps при заданных координатах космической станции (КС) на геостационарной орбите и земной станции.
Таблица 1 – Исходные данные
№ Тип спутника Координаты, в.д. Полоса частот, МГц Земные станции, (в.д.) Параметры спутников, Ркс (Вт)/Gкс (дБ). Диаметры
1100 руб.
Курсова робота "Гідромашини і гідропривод"
Калян
: 27 февраля 2012
Розрахунок об’ємного гідроприводу
Вихідні дані.
1. Вибраємо номінальний тиск робочої рідини.
2. Робоча рідина.
3. Тривалість роботи гідросистеми під навантаженням.
4. Визначення довжин і місцевих опорів гідроліній.
5. Підбір гідроциліндра.
6. Підбір насоса.
7. Розрахунок гідромережі.
8. Максимальний тиск гідросистеми.
9. К.к.д. гідроприводу.
10. Потужність N яка споживається насосом:
11. Тепловий розрахунок гідросистеми.
12. Підбір гідроапаратів.
Література.
А1 - Д-687А загльний вигляд
125 руб.
Сети связи. Лабораторная работа №2. Вариант №1
tchestr
: 25 января 2013
"Методы динамического распределения потоков вызовов на сетях электросвязи.
Метод рельефов".
Цель работы.
1.1. Приобрести навыки по формированию матриц рельефов и матриц маршрутизации.
1.2. Изучить принцип выбора пути с помощью матрицы маршрутизации.
Задание.
1. Создать структуру сети с помощью средств, используемой программы.
2. Сформировать матрицу рельефа для указанного узла.
3. Сформировать матрицу маршрутизации для указанного узла.
4. Повторить пункты 2. и 3. при условии, что одна из
150 руб.