Директива DW (визначити слово)

Формат директиви

Ідентифікатор імені DW DW_вираз,...,DW_вираз

Найбільш вживані значення DW_вираз:

- числовий вираз, значення якого від –32768 до 65535 (визначення слова даних)

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

- символ “?” (резервування слова пам’яті)

2. Описати доступ до елементів масиву.

Всі елементи масиву розташовуються в пам*яті комп*ютера послідовно. Алгоритм обробки визначає, як потрібно трактувати послідовність байтів: одновимірний чи двовимірний масив.
Для локалізації конкретних елементів масиву використовуються індекси, які є адресами елементів. Нумерація елементів масиву починається з нуля.
В загальному випадку для отримання адреси елемента в масиві необхідно до початкової (базової) адреси масиву додати добуток індекса (номер елемента мінус одиниця) цього елемента на розмір елемента масиву:

база + (індекс * розмір_елемента)
Програмно-апаратні засоби мікропроцесорів (до них відносяться базові та індексні регістри) дозволяють реалізувати різні режими адресації, організувати ефективну роботу з масивами.


3. Розробити програму створення та використання процедур. Програма викликає процедуру, яка обчислює значення функції. Основна програма та процедура розміщені в одному сегменті коду.

y = S ( i + 1 )

i=1

y = S ( 2 ‘ i ) i=1

Код програми:

TITLE EX_LOOP (EXE)

STACKSG SEGMENT PARA STACK 'STACK'

DW 32 DUP(?)

STACKSG ENDS

DATASG SEGMENT PARA 'DATA'

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

N DW 10

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

RESULT DW 0

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

DATASG ENDS

CODESG SEGMENT PARA 'Code '

MAIN 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

CALL SUM

Mov AX,4C00h ;вихід

int 21h ;з програми

main ENDP

Sum PROC NEAR ;опис процедури

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

MOV AX, I ; Пересилання І до регістра АХ

MOV BX,2

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

ADD RESULT, AX ; Накопичення суми ряду в змінній RESULT

SUB AX, AX

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

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

RET

CODESG ENDS

END main

№ 12

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

Основні типи даних процесора

1. Байт - вісім послідовно розташованих бітів, пронумерованих від 0 до 7, при цьому біт 0 є наймолодшим значущим бітом.



2. Слово - послідовність з двох байтів, що мають послідовні адреси. Розмір слова - 16 бітів; біти в слові нумеруються від 0 до 15. Байт, що містить нульовий біт, називається молодшим байтом, а байт, що містить 15-й Біт, - старшим. Процесори Intel мають важливу особливість - молодший байт завжди зберігається за меншою адресою. Адресою слова вважається адреса його молодшого байта. Адреса старшого байта може бути використаний для доступу до старшої половини слова.

3. Подвійне слово - послідовність з чотирьох байтів (32 біта), розташованих по послідовних адресами. Нумерація цих бітів проводиться від 0 до 31. Слово, що містить нульовий біт, називається молодшим словом, а слово, що містить 31-й Біт, - старшим словом. Молодше слово зберігається за меншою адресою. Адресою подвійного слова вважається адреса його молодшого слова. Адреса старшого слова може бути використаний для доступу до старшої половини подвійного слова.

4. четверенное слово - послідовність з восьми байтів (64 біта), розташованих по послідовних адресами. Нумерація бітів проводиться від 0 до 63. Подвійне слово, що містить нульовий біт, називається молодшим подвійним словом, а подвійне слово, що містить шістьдесят третє Біт, - старшим подвійним словом. Молодше подвійне слово зберігається за меншою адресою. Адресою почетвереній слова вважається адреса його молодшого подвійного слова. Адреса старшого подвійного слова може бути використаний для доступу до старшої половини почетвереній слова.

4. 128-бітний упакований тип даних. Цей тип даних з'явився в процесорі Pentium III. Для роботи з ним в процесор введені спеціальні команди.

2. Описати ланцюжкові команди: пересилання, перевизначення сегментів, префікси повторення.


6964570862635413.html
6964643436666058.html
    PR.RU™