
Архитектура компьютеров(3 курс 2 семестр) Савченко І.О. / Лабораторна робота №5 Дослідження роботи арифметико-логічного пристрою
.docx
Лабораторна робота №5
Дослідження роботи арифметико-логічного пристрою
1.Мета роботи: Досдідити роботу АЛП при виконанні арифметичних і логічних операцій.
2.Завдання:
Визначити 4 числа – два розміром в 1 байт і два – розміром в 2 байти
Скаласти програму в якій реалізувати два програмні блоки:
Виконання 8-ми арифметичних і логічних операцій з 8-розрядними даними;
Виконання 8-ми арифметичних і логічних операцій з 16-ми логічними даними;
Після виконання кожної операції необхідно поновлювати операнди у відповідних регістрах;
За допомогою програм Tasm і Tlink втконати асемблювання та компоновку програми;
За допомогою прогграми Debug зробити покрокове виконання програми.
Виконати письмово перевірку правильності виконання всіх арифметичних і логічних операцій в АЛП;
Скласти таблицю,в якій відмітити як працює кожна команда з 8 і 16-розрядними числами.На основі отриманих даних зробити аналіз роботи АЛП і висновки.
3.Хід роботи:
.model
.data
v8 db 3
n8 db 27
v16 dw 6
n16 dw 11
.code
begin:
mov ax,@data
AX
mov ds,ax
mov al,v8
mov bl,n8
and al,bl
mov al,v8
mov bl,n8
or al,bl
mov al,v8
mov bl,n8
xor al,bl
mov al,v8
not al
mov ax,v16
mov bx,n16
and ax,bx
mov ax,v16
mov bx,n16
or ax,bx
mov ax,v16
mov bx,n16
xor ax,bx
mov ax,v16
not ax
mov al,v8
mov bl,n8
add al,bl
mov al,v8
mov bl,n8
sub al,bl
mov al,v8
mul n8
mov ax,n126
div n8
mov ax,v16
mov bx,n16
add ax,bx
mov ax,v16
mov bx,n16
sub ax,bx
mov ax,v16
mul n16
mov ax,4h
mov dx,1h
div v16
mov ax,4c00h
int 21h
end begin
За допомогою програм Tasm і Tlink втконати асемблювання та компонову
програми
Асемблювання:
C:\tasm lab_05
Turbo Assembler Version 4.0 Copyrigh © 1988,1993 Borland International
Asswmbling file: lab_05.asm
Error messages:None
Warning messages:None
Passes:1
Remaning memory:463K
Компунування:
C:\tlink lab_05
Turbo Link Version 4.01 Copyrigh © 1991 Borland International
Warning: No stack
4.Таблиця
За допомогою програми Debug я зробив покрокове виконання програми,результати зафіксовані у таблиці.
C:\afgebug lab_05
№ |
Команда |
Регістр |
Значення
|
|
До |
Після |
|||
1 |
mov ax,@data |
ax |
0000 |
135B |
2 |
mov ds,ax |
ds |
1343 |
135B |
3 |
mov al,v8 |
ax |
135B |
1303 |
4 |
mov bl,n8 |
bx |
0000 |
001B |
5 |
and al,bl |
ax |
1303 |
1303 |
6 |
mov al,v8 |
ax |
1303 |
1303 |
7 |
mov bl,n8 |
bx |
001B |
001B |
8 |
or al,bl |
ax |
1303 |
131B |
9 |
mov al,v8 |
ax |
131B |
1303 |
10 |
mov bl,n8 |
bx |
011B |
001B |
11 |
xor al,bl |
ax |
1303 |
1318 |
12 |
mov al,v8 |
ax |
1318 |
1303 |
13 |
not al |
ax |
1303 |
13FC |
14 |
mov ax,v16 |
ax |
13FC |
0006 |
15 |
mov bx,n16 |
bx |
001B |
000B |
16 |
and ax,bx |
ax |
0006 |
0002 |
17 |
mov ax,v16 |
ax |
0002 |
0006 |
18 |
mov bx,n16 |
bx |
000B |
000B |
19 |
or ax,bx |
ax |
0006 |
000F |
20 |
mov ax,v16 |
ax |
000F |
0006 |
21 |
mov bx,n16 |
bx |
000B |
000B |
22 |
xor ax,bx |
ax |
0006 |
000D |
23 |
mov ax,v16 |
ax |
000D |
0006 |
24 |
not ax |
ax |
0006 |
FFF9 |
25 |
mov al,v8 |
ax |
FFF9 |
FF03 |
26 |
mov bl,n8 |
bx |
000B |
001B |
27 |
ad al,bl |
ax |
FF03 |
FF1E |
28 |
mov al,v8 |
ax |
FF1E |
FF03 |
29 |
mov bl,n8 |
bx |
001B |
001B |
30 |
sub al,bl |
ax |
FF03 |
FFE8 |
31 |
mov al,v8 |
ax |
FFE8 |
FF03 |
32 |
mul n8 |
ax |
FF03 |
0051 |
33 |
mov ax,n16 |
ax |
0051 |
000B |
34 |
div n8 |
ax |
000B |
0B00 |
35 |
mov ax,v16 |
ax |
0B00 |
0006 |
36 |
mov bx,n16 |
bx |
001B |
000B |
37 |
add ax,bx |
ax |
0006 |
0011 |
38 |
mov ax,v16 |
ax |
0011 |
0006 |
39 |
mov bx,n16 |
bx |
000B |
000B |
40 |
sub ax,bx |
ax |
0006 |
FFFB |
41 |
mov ax,v16 |
ax |
FFFB |
0006 |
42 |
mul n16 |
ax |
0006 |
0042 |
43 |
mov ax,4h |
ax |
0042 |
0004 |
44 |
mov dx,1h |
dx |
0000 |
0001 |
45 |
div v16 |
ax |
0004 |
2AAB |
46 |
mov ax,4c00h |
ax |
2AAB |
4C00 |
Висновок:в ході виконання лабораторної роботи було досліджено роботу АЛП при виконанні арифметичних і логічних операцій.