Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы 1-4.doc
Скачиваний:
29
Добавлен:
01.05.2014
Размер:
421.38 Кб
Скачать

4.3 Язык Assembler

Расчет метрических характеристик для программы на языке программирования Assemblerпроводился вручную.

Операторы

Количество

Операнды

Количество

1

assume

5

1

cs

6

2

Segment…ends

10

2

ds

3

3

label

11

3

bp

7

4

db

14

4

sp

14

5

proc

4

5

si

9

6

push

14

6

di

8

7

mov

21

7

dx

4

8

movsx

2

8

edx

2

9

sub

2

9

bx

6

10

fsub

1

10

ebx

2

11

fsubr

2

11

ax

4

12

cmp

7

12

eax

2

13

ja short @1@86

1

13

es

6

14

ja short @2@86

1

14

word ptr [bp-2]

4

15

ja short @3@58

1

15

dword ptr [bp-4]

7

16

ja short @4@86

1

16

dword ptr [bp-8]

5

17

far ptr

10

17

dword ptr [bp-12]

5

18

call F_OVERFLOW@

4

18

dword ptr [bp-16]

5

19

call @@randomize$qv

1

19

dword ptr [bp-20]

3

20

call @@random$qi

2

20

dword ptr [bp-24]

5

21

call @linfit1$qxnxfxt1

1

21

dword ptr [bp-28]

5

22

call _time

1

22

dword ptr [bp-32]

2

23

call _srand

1

23

dword ptr [bp-36]

3

24

call _rand

1

24

word ptr [bp+6]

3

25

xor

1

25

word ptr [bp+8]

2

26

fld

13

26

word ptr [bp+10]

1

27

fstp

14

27

word ptr [bp+12]

1

28

fadd

6

28

0

12

29

fmul

8

29

2

7

30

fwait

5

30

4

9

31

add

9

31

8

3

32

inc

2

32

32

4

33

jl short @1@142

1

33

36

1

34

jl short @2@114

1

34

2000

2

35

fdiv

7

35

000008000h

1

36

fsubr

2

36

_x

4

37

jne short @1@338

1

37

_y

4

38

pop

3

38

_y_calc

4

39

leave

2

39

_i

7

40

ret

4

40

_a

4

41

fild

2

41

_b

4

42

shl

2

Итого

190

43

endp

4

44

imul

1

45

cdq

1

46

idiv

1

47

extrn

6

48

equ

3

Итого

217

Метрики Холстеда

Число уникальных операторов (n1):

48

Число уникальных операндов (n2):

41

Общее число операторов (N1):

217

Общее число операндов (N2):

190

Словарь программы (n):

89

Экспериментальная длина программы (Nэ):

407,0000

Теоретическая длина программы (Nт):

487,7416

Объём программы (V):

2635,6090

Потенциальный объём (V*):

11,6096

Граничный объём (V**):

15.6844

Уровень программы (L):

0,0044

Сложность программы (C):

227,2077

Ожидание уровня программы (L^):

0,0090

Интеллект программы (I):

23,6974

Работа по программированию (Е):

598830,6590

Время кодирования (T):

59883,0659

Ожидаемое время кодирования (T^):

29313,1247

Уровень языка программирования (Lam):

0,0511

Уровень ошибок (В):

2,3473

Ожидаемый уровень ошибок (В^):

0,8785

Сводная таблица:

Метрики Холстеда

Метрика

Pascal - прогр

Pascal - ручное

С - прогр

С - ручное

Assembler

Среднее значение

n1

17

16

20

20

48

24,2000

n2

24

22

19

21

41

25,4000

N1

84

81

85

99

217

113,2000

N2

114

115

87

102

190

121,6000

n

41

38

39

41

89

49,6000

198,0000

196,0000

172,0000

201,0000

407,0000

234,8000

179,5260

162,1068

167,1490

178,6763

487,7416

235,0399

V

1060,8000

1028,5884

909,0890

1076,8776

2635,6090

1342,1928

V*

11,6096

11,6096

11,6096

11,6096

11,6096

11,6096

V**

15,6844

15.6844

15,6844

15.6844

15.6844

15.6844

L

0,0101

0,0113

0,0128

0,0108

0,0044

0,0099

C

-

88,6714

-

92,9343

227,2077

81,7627

L^

0,0248

0,0239

0,0218

0,0206

0,0090

0,0200

I

26,2736

24,5967

19,8537

22,1710

23,6974

23,3185

Е

96926,9000

91206,3735

71185,9000

100078,8659

598830,6590

191645,7397

T

9692,6900

9120,6374

7118,5900

10007,8866

59883,0659

19164,5740

T^

3883,3500

3557,5575

4045,2700

5230,5483

29313,1247

9205,9701

Lam

0,1271

0,1308

0,1483

0,1250

0,0511

0,1165

В

0,7034

0,6703

0,5725

0,7130

2,3473

1.0013

B^

0,3536

0,3429

0,3030

0,3590

0,8785

0,4474