Автор работы: Пользователь скрыл имя, 21 Ноября 2012 в 16:18, лабораторная работа
Мета роботи: Дослідити різні адресації, які використовуються в сучасних комп’ютерах.
2. Завдання:
2.1 Визначити слідуючі дані:
- число (V), що дорівнює номеру студента по журналу:
- число (t), що дорівнює даті виконання роботи
- число (n), що дорівнює номеру комп’ютера студента (n).
Лабораторна робота №1
Дослідження способів адресації
1. Мета роботи: Дослідити різні адресації, які використовуються в сучасних комп’ютерах.
2. Завдання:
2.1 Визначити слідуючі дані:
- число (V), що дорівнює номеру студента по журналу:
- число (t), що дорівнює даті виконання роботи
- число (n), що дорівнює номеру комп’ютера студента (n).
Розмір змінних для парних чисел – 2 байти, для непарних чисел – 1 байт.
2.2 Скласти програму, яка включає: 7 блоків (кожен блок реалізує окремий спосіб адресації). Перед кожним блоком в коментарі вказати спосіб адресації. При розробці блоків:
- для регістрової адресації записати в регістр число V;
- число при безпосередній
- абсолютна адреса при прямій адресації повинна дорівнювати Vh;
- при опосередньо регістровій адресації в змінній cell занести V;
- при опосередньо регістровій адресації зі зміщенням визначити array, що складається з 10 елементів розміром 10 1 байт кожний, починаючи з числа V, через крок 1. В регістр bx занести номер комп’ютера.
- при базово-індексній
- при базово-індексній зі зміщен
Рядок визначити слідуючий – “Київський радіо механічний технікум” “Ведучий технікум України”.
1. Виконати асемблювання та компоновку складеної програми за допомогою програм Tasm i Tlink.
2. За допомогою програми Debug зробити покрокове виконання програми , результати зафіксувати у вигляді таблиці.
3. Зробити детальний аналіз
4. Виключити комп’ютер, оформити звіт і захистити його в триденний термін.
Література:
1. Питер Абель. Ассемблер. Язык и программирование для IBM PC; пер. с англ. К.: Век+. М.: ЭНТРОП, 2005. Сторінки: 83-86, 95-96, 98-104, 138-139.
Хід роботи:
1. Складання програми:
C:/soft/asm/arh1.asm
.Model small
.data ;початок опису сегменту даних
n dw 5 ;в пам’яті виділяється комірка розміром 1 байт
v dw 8 ;номер студента по списку
t dw 11 ;дата виконання роботи
Cell dw 8
array dw 8, 9, 10, 11, 12, 13, 14, 15, 16 ,17 ;створення однобайтового масиву
sims db “Киевский радиотехнический техникум группа”
.code ; початок сегменту коду
Begin: ; початок програми
Mov ax, @data ; адреса початку сегменту даних заноситься в АХ
Mov ds, ax ; адреса початку сегменту даних переноситься в DX
; Регістрова адресація
Mov bx, v ; значення V заноситься в ВХ
Mov ax, bx ; вміст ВХ переноситься в акумулятор
Xor ax, ax ; обнуління акумулятора
; Безпосередня адресація
Mov ah, 8h ; число 8 заноситься в старший байт акумулятора
Xor dx, dx
; Пряма адресація
Mov dl, ds: 8h ; вміст комірки 0008 переноситься в молодший байт DX
Xor ax, ax
; Посередня-регістрова адресація
Mov si, offset cell
Mov ax, [si] ; в АХ заноситься значення, яке лежить в регістрі SI
Xor ax, ax
; Посередня-регістрова зі зміщенням
Mov bx, 5 ; значення N заноситься в ВХ
Mov ax, array [bx] ; завантажує елемент масиву в регістр АХ
Xor ax, ax
; Базово-індексна адресація
Mov bx, offset array
Mov si, n ; значення N заноситься в SI
Mov ax, [bx] [si] ; в АХ заноситься значення, яке лежить в ВХ та SI
Xor ax, ax
; Базово-індексна зі зміщенням
Mov bx, 8 ; в ВХ заноситься значення V
Mov si, 5
Mov dl, sims [bx] [si]
Xor dx, dx
Mov ax, 4c00h
Int 21h ; виклик 21-го переривання
End begin ; кінець програми
2. Перевірка програми на помилки:
C:/SOFT/ASM>Tasm arh1.asm
Assembling file: arh1.ASM to asm.OBJ
Error messages: None
Warning messages: None
Passes: 1
Remaining memory: 440k
3. Компоновка програми:
C:/SOFT/ASM>Tlink arh1.obj
4. Перегляд покрокового виконання програми:
C:/SOFT/ASM>Debug arh1.exe
Команда |
Ім’я |
Регістр | |
До |
Після | ||
Регістрова адресація | |||
MOV DS, AX |
DS |
0C80 |
0C94 |
MOV BX, [0008] MOV AX, BX XOR AX, AX |
BX AX AX |
0000 0C94 0016 |
0016 0016 0000 |
Безпосередня адресація | |||
MOV AH, 8 XOR AX, AX |
AH(AX) AX |
0000 0800 |
0800 0000 |
Пряма адресація | |||
MOV DL, [0008] XOR DX, DX |
DL(DX) DX |
0000 008A |
008A 0000 |
Посередня-регістрова адресація | |||
MOV SI, 000C MOV AX, [SI] XOR AX, AX |
SI AX AX |
0000 0000 0016 |
000C 0016 0000 |
Посередня-регістрова зі зміщенням | |||
MOV BX, [0006] MOV AX, [BX+000E] XOR AX, AX |
BX AX AX |
0016 0000 1A00 |
0007 1A00 0000 |
Базово-індексна адресація | |||
MOV BX, 000E MOV SI, [000E] MOV AX, [BX+SI] XOR AX, AX |
BX SI AX AX |
0007 000C 0000 1A00 |
000E 0007 1A00 0000 |
Базово-індексна зі зміщенням | |||
MOV BX, [0008] MOV SI, [0006] MOV DL, [BX+SI+0022] XOR DX, DX MOV AX, 4C00 INT 21 |
BX SI DL(DX) DX AX |
000E 0007 0000 00E5 0000 |
0016 0007 00E5 0000 4C00 |
Висновок: На цій лабораторній роботі я дослідив різні способи адресації, які використовуються в сучасних комп’ютерах. Дізнався як можна виконувати асемблювання та компонування за допомогою команд Tasm та Tlink. За допомогою команди Debug покроково перевірив хід виконання програми. Досконально вивчив та ознайомився з принципами дії цих команд.