Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Комплексна контрольна робота з системного програмування






№ 19

1. Охарактеризувати способи адресації даних у пам'яті.

. Індексна адресація зі зміщенням – режим адресації, при якому ефективна адреса формується з двох компонентів:
- постійного (базового) – вказанням прямої адреси масиву у вигляді імені ідентифікатора, що визначає початок масиву;

- змінного (індексного) – вказанням імені індексного регістра.
Наприклад
mas db 0, 1, 2, 3, 4, 5
......
mov si, 4
mov ax, mas[si]; помістити 3-й елемент масиву mas в регістр ах
2. Базова індексна адресація зі зміщенням – режим адресації, при якому ефективна адреса формується максимум із трьох компонентів:
- постійного (необов*язкового) – в якості якого виступає пряма адреса масиву у вигляді імені

ідентифікатора, що означає початок масиву, або безпосереднє значення;
- змінного (базового) – вказанням імені базового регістра;

змінного (індексного) – вказанням імені індексного регістра.
Мікропроцесор дозволяє масштабувати індекс. Якщо вказати після імені індексного регістра знак множення “ * ” з наступною цифрою 2, 4, або 8, то вміст індексного регістра буде помножений на 2, 4 або 8. Масштабування дозволяє виконувати корекцію індекса для отримання адреси чергового елемента масиву. Треба лише завантажити в індексний регістр значення потрібного індекса.

 

2. Описати макрокоманди та використання макросів.

Макрокоманда представляє собою рядок, що вміщує деяке символічне ім’я – ім’я_макрокоманди, призначений для заміщення одним або кількома рядками програмного коду.
Макровизначенням називається шаблон - опис макрокоманди.

Синтаксис макровизначення:

 

ім’я_макрокоманди macro список_формальних_аргументів
тіло макровизначення
endm


Варіанти розташування макровизначення:


1.на початку вихідного тексту програми до сегменту коду і даних;
2.в окремому файлі. Для доступу до макровизначення в конкретній програмі слід записати на початку цієї програми директиву:


include ім’я_файлу


3.в макробібліотеці. Актуалізація команд з макробібліотеки виконується директивою include.
В результаті використання макрокоманди в програмі формальні аргументи в макровизначенні замінюються відповідними фактичними параметрами. процес такого заміщення називається макрогенерацією, а результатом цього процесу є макророзширення.

 

  1. Розробити програму мовою асемблера, яка обчислює значення виразу

y = P (i +5)

i=1

 

Зразок; Скласти програму для обчислення значення функції:

y = P i

i=1

 

page 60, 80

TITLE EX_LOOP (EXE)

STACKSG SEGMENT PARA STACK 'STACK'

DW 32 DUP(?)

STACKSG ENDS

DATASG SEGMENT PARA 'DATA'

; ------------------------------------------------------------------------------------------------------------

N DW 7

I DW 1; Елементи даних

P DW 1

; ------------------------------------------------------------------------------------------------------------

DATASG ENDS

CODESG SEGMENT PARA 'Code '

BEGIN PROC FAR

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

PUSH DS; Ініціалізація програми

SUB AX, AX

PUSH AX

MOV AX, DATASG

MOV DS, AX

SUB AX, AX

MOV CX, N

BEGIN_LOOP:; Початок циклу

MOV AX, P; Пересилання добутку Р до рег. АХ

MOV BX, I; Пересилання І до рег. ВХ

MUL BX; Отримання добутку Р = Р * І

INC I; Збільшення І на 1

MOV P, AX; Накопичення добутку в змінній Р

SUB AX, AX; Очищення рег. АХ

LOOP BEGIN_LOOP; Кінець опису цикла

 

RET

BEGIN ENDP

CODESG ENDS

END BEGIN

№20

1. Описати додавання двійкових чисел.

 

1.1.Додавання двійкових чисел без знаку

 

У системі команд процесора є три команди двійкового додавання:

 

1. inc операнд

Операція інкременту, тобто збільшення значення операнда на 1.

Приклади: INC CX

INC Count

 

2. add операнд1, операнд2

команда додавання з принципом дії:

 

операнд1 = операнд1 + операнд2

Приклади: ADD AX, 030FEh

ADD DI, 2

 

3. adc операнд1, операнд2

команда додавання з урахуванням прапора переносу cf. Принцип дії команди:

 

операнд1 = операнд1 + операнд2 + значення_cf

Ця команда враховує перенесення одиниці із старшого розряду при переповненні розрядної сітки.

Приклади: ADC CX, AX






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.