Uploaded by Екатерина Зацепилина

2лб

advertisement
Министерство образования Российской Федерации
Пензенский государственный университет
Кафедра «Вычислительная техника»
ОТЧЕТ
по практической работе №2
по курсу «ЭВМ и ПУ»
на тему «Диагностические сетевые утилиты и их использование»
Выполнила:
студентка группы 20ВВВ1
Зацепилина Е.С.
Приняли:
Коннов Н.Н.
Попов К.В.
Пенза 2023 г.
Цель работы:
Изучение способов адресации и арифметико-логических и посылочных
операций.
Лабораторное задание:
Составить программу вычисления по формуле согласно варианту.
Операнды и результат разместить в памяти. Один из операндов A, B, С
адресовать, используя базовую адресацию, остальные - базовую со
смещением, константу адресовать непосредственно, результат - прямо.
Используя листинг программы, полученный при выполнении задания 1,
разобрать первой записанной в сегменте кода команды add (вариант №2) и
записать бинарные коды всех полей ее формата.
Вариант №`1
№
1
Формула
Y=A+B-(C+3 )
Базовая адресация
B
Листинг:
Turbo Assembler
lab2.ASM
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
0000
0000
0020
0000
0000
0002
0004
0006
0008
0000
0000
0000
0001
0004
0005
0008
10*(????)
0001
FFF1
0008
????
1E
B8 0000
50
B8 0000s
8E D8
Version 2.5
02/11/23 11:09:15
Page 1
stseg segment para stack
dw
16
dup(?)
stseg ends
dseg segment para
a
dw
1
b
dw
-15
c
dw
8
y
dw
?
dseg ends
cseg segment para
lab1 proc far
assume cs:cseg,ds:dseg,ss:stseg
push ds
mov ax,0
push ax
mov ax,dseg
mov ds,ax
;-----------------------------------------------------
19
20
21
22
23
24
25
26
27
28
29
30
000A
000D
0010
0012
0015
0018
001A
BB 0002r
8B 47 FE
03 07
8B 4F 02
83 C1 03
2B C1
A3 0006r
001D CB
001E
001E
Turbo Assembler
Symbol Table
lea bx,b
mov ax,[bx-2]
add ax,[bx]
mov cx,[bx+2]
add cx, 3
sub ax,cx
mov y,ax
;---------------------------------------------------ret
lab1 endp
cseg ends
end lab1
Version 2.5
02/11/23 11:09:15
Symbol Name
Type
??DATE
??FILENAME
??TIME
??VERSION
@CPU
@CURSEG
@FILENAME
@WORDSIZE
A
B
C
LAB1
Y
Text "02/11/23"
Text "lab2 "
Text "11:09:15"
Number 0205
Text 0101H
Text CSEG
Text LAB2
Text 2
Word DSEG:0000
Word DSEG:0002
Word DSEG:0004
Far
CSEG:0000
Word DSEG:0006
Groups & Segments
Bit Size Align Combine Class
CSEG
DSEG
STSEG
16 001E Para none
16 0008 Para none
16 0020 Para Stack
Page 2
Value
Задание 2:
Используя листинг программы, полученный при выполнении задания1,
разобрать первой записанной в сегменте кода команды add (четные варианты) или
команды sub (нечетные варианты) и записать бинарные коды всех полей ее
формата.
Решение:
Команда 0018 2B C1– 2 байта
7
1 0 7 6 5
3 2
0
КОП
d w mod
reg
r/m
0 0 1 0 1 0 1 1 1 1 0 0 0 0 0 1
- r/m = 001, код регистра DX, в который заносится операнд
- mod = 11, операнд является содержимым регистра DX
- reg = 000, значит в качестве второго операнда используем AX
Получилась команда sub AX, CX
Результат:
Выполнен ручной просчет:
Y=A+B-(C+3)
a
b
c
y
1
-15
8
?
Y=1+(-14)-(8+3)
Y = -25
Вывод: изучили способы адресации и арифметико-логические и посылочные
операции
Download