Отчет о выполнении лабораторной работы №10 icon

Отчет о выполнении лабораторной работы №10



НазваниеОтчет о выполнении лабораторной работы №10
Студент группы Сп-05б
Дата конвертации26.09.2012
Размер38.78 Kb.
ТипОтчет
1. /Nash/lab1/Лабораторная работа ь1.doc
2. /Nash/lab10/Лабораторная работа ь10.doc
3. /Nash/lab2/Лабораторная работа ь2.doc
4. /Nash/lab3/Лабораторная работа ь3.doc
5. /Nash/lab45/Лабораторная работа ь45.doc
6. /Nash/lab6/Лабораторная работа ь6.doc
7. /Nash/lab79/INPUT.TXT
8. /Nash/lab79/INPUT1.txt
9. /Nash/lab79/OUT.TXT
10. /Nash/lab79/Лабораторные работы ь7,9.doc
11. /Nash/lab8/INPUT.TXT
12. /Nash/lab8/OUT.TXT
13. /Nash/lab8/Лабораторная работа ь8.doc
Отчет о выполнении лабораторной работы №1
Отчет о выполнении лабораторной работы №10
Отчет о выполнении лабораторной работы №2
Отчет о выполнении лабораторной работы №3
Отчет о выполнении лабораторных работ №4,5
Отчет о выполнении лабораторной работы №6
Отчет о выполнении лабораторных работ №7,9
Отчет о выполнении лабораторной работы №8

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ

ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ


Кафедра ЭВМ


ОТЧЕТ

О ВЫПОЛНЕНИИ ЛАБОРАТОРНОЙ РАБОТЫ №10


Выполнил

Студент группы Сп-05б

Nash

Руководитель


Донецк 2006г.

Задания:

Подсчитать сумму положительных элементов в массиве, после чего удалить их. Реализовать вызов из Паскаль-программы одной функции и процедуры.


Листинг программы

Program lab10;

Uses Crt;

Type TArray = record

Size:integer;

Summ:integer;

Data:Array[1..15] of integer;

end;

Var A:TArray;

entered:boolean;

{$L lab8.
obj}

Procedure GetSumm(var s:TArray);external;

Function GetMenuItem:integer;external;


Procedure EnterSourceData(var s:TArray);

var i:integer;

begin

Writeln('Enter number of elements in array');

Readln(i);

if (i<1) or (i>15) then

begin

Writeln('Size of array must be greater than 1 and not more 15');

s.Size:=0;

exit;

end;

s.Size:=i;

For i:=1 to i Do

begin

Writeln('Enter ',i,' element');

Readln(S.Data[i]);

end;

Writeln('Source data read successfuly');

entered:=true;

end;


Procedure OutProcessedData(s:TArray);

var i:integer;

begin

Writeln('Size of the array is ',s.Size);

for i:=1 to s.Size Do

begin

Write(s.Data[i]:8);

Writeln('');

end;

Writeln('Summ of positive elements is ',S.Summ);

end;


Begin

ClrScr;

Writeln('1 - Enter source data');

Writeln('2 - Process source data');

Writeln('3 - View processed data');

Writeln('4 - Exit');

while true Do

begin

case GetMenuItem of

1:EnterSourceData(A);

2:if (entered) then begin GetSumm(A); Writeln('DataProcessed');end

else Writeln('First enter data, then process it');

3:OutProcessedData(A);

4:Halt;

end;

end;

Writeln('Press any key to exit program');

Repeat Until (keypressed);

End.


Turbo Assembler Version 4.1 19/12/06 20:32:28 Page 1

lab8.asm


1 Public GetSumm,GetMenuItem

2

3 0000 cseg segment

4 assume cs:cseg

5

6 ;***********************************************************************************************

7 ***

8 ; GetSumm - выщитывает сумму положительных элементов, затем удаляет их из массива.

9 ; Параметры: указатель на структуру (кол-во элементов, переменная для суммы, массив);

10 ; Все компоненты имеют размер слово.

11 ;***********************************************************************************************

12 ***

13 0000 GetSumm proc near

14 = [bx] N equ [bx]

15 = [bx+4] A equ [bx+4]

16 = [bx+2] S equ [bx+2]

17 = [bp+4] Blockptr equ [bp+4]

18 = [bp] Buffer equ [bp]

19

20 0000 55 push bp

21 0001 8B EC mov bp,sp

22 0003 83 EC 28 sub sp,40

23 0006 50 push ax

24 0007 56 push si

25 0008 57 push di

26 0009 53 push bx

27 000A 52 push dx

28 000B 8B 5E 04 mov bx,Blockptr;теперь справедлив оператор эквивалентности

29 000E 83 ED 28 sub bp,40

30 0011 8B 0F mov cx,N

31 0013 83 F9 14 cmp cx,20

32 0016 7F 3C jg m_end

33 0018 85 C9 test cx,cx

34 001A 74 38 je m_end

35 001C 33 F6 xor si,si

36 001E 33 FF xor di,di

37 0020 33 C0 xor ax,ax

38 0022 m8:;если больше - прибавить к сумме, иначе - в буферный массив

39 0022 83 78 04 00 cmp word ptr A[si],0

40 0026 7C 06 jl m7

41 0028 03 40 04 add ax,A[si]

42 002B EB 09 90 jmp m10

43 002E m7:

44 002E 8B 50 04 mov dx,A[si]

45 0031 89 13 mov Buffer[di],dx

46 0033 83 C7 02 add di,2

47 0036 m10:

48 0036 83 C6 02 add si,2

49 0039 E2 E7 Loop m8

50 003B 8B CF mov cx,di

51 003D D1 F9 sar cx,1

52 003F 89 0F mov N,cx

53 0041 33 F6 xor si,si

54 0043 85 C9 test cx,cx

55 0045 74 0D je m_end

56 0047 m9:

57 0047 8B 12 mov dx,Buffer[si]

Аurbo Assembler Version 4.1 19/12/06 20:32:28 Page 2

lab8.asm


58 0049 89 50 04 mov A[si],dx

59 004C 83 C6 02 add si,2

60 004F E2 F6 Loop m9

61 0051 89 47 02 mov S,ax

62 0054 m_end:

63 0054 5A pop dx

64 0055 5B pop bx

65 0056 5F pop di

66 0057 5E pop si

67 0058 58 pop ax

68 0059 83 C4 28 add sp,40

69 005C 5D pop bp

70 005D C2 0004 ret 4

71 0060 GetSumm endp

72

73 ;***********************************************************************************************

74 ***

75 ; GetMenuItem - выводит меню и возвращает номер выбранного пункта.

76 ;***********************************************************************************************

77 ***

78 0060 GetMenuItem proc near

79 0060 B4 07 retry:mov ah,7h

80 0062 CD 21 int 21h

81 0064 2C 31 sub al,'1'

82 0066 7C F8 jl retry

83 0068 3C 03 cmp al,3

84 006A 7F F4 jg retry

85 006C 32 E4 xor ah,ah

86 006E 40 inc ax

87 006F C3 ret

88 0070 GetMenuItem endp

89

90 0070 cseg ends

91 End

Аurbo Assembler Version 4.1 19/12/06 20:32:28 Page 3

Symbol Table


Symbol Name Type Value


??DATE Text "19/12/06"

??FILENAME Text "lab8 "

??TIME Text "20:32:28"

??VERSION Number 040A

@CPU Text 0101H

@CURSEG Text CSEG

@FILENAME Text LAB8

@WORDSIZE Text 2

A Text [bx+4]

BLOCKPTR Text [bp+4]

BUFFER Text [bp]

GETMENUITEM Near CSEG:0060

GETSUMM Near CSEG:0000

M10 Near CSEG:0036

M7 Near CSEG:002E

M8 Near CSEG:0022

M9 Near CSEG:0047

M_END Near CSEG:0054

N Text [bx]

RETRY Near CSEG:0060

S Text [bx+2]


Groups & Segments Bit Size Align Combine Class


CSEG 16 0070 Para none

А_


Результаты работы программы

1 - Enter source data

2 - Process source data

3 - View processed data

4 - Exit

Enter number of elements in array

5

Enter 1 element

1

Enter 2 element

-2

Enter 3 element

3

Enter 4 element

4

Enter 5 element

-6

Source data read successfuly

DataProcessed

Size of the array is 2

-2

-6

Summ of positive elements is 8




Похожие:

Отчет о выполнении лабораторной работы №10 iconВариант 27 Задания: Отчет по лабораторной работе должен содержать PrintScreen окна изменения прав доступа «разрешения»
«разрешения» пользователей к ветвям реестра. Выполненные общее и индивидуальное задания. Ответы на контрольные вопросы. После выполнения...
Отчет о выполнении лабораторной работы №10 iconПравила работы в химической лаборато рии при выполнении лабораторных работ по общей и физической химии
Перед каждой лабораторной работой необходимо изучить соответствующий лекционный и литературный материалы, а также материал методических...
Отчет о выполнении лабораторной работы №10 iconПравила работы в химической лаборато рии при выполнении лабораторных работ по общей и аналитической химии
Перед каждой лабораторной работой необходимо изучить соответствующий лекционный и литературный материалы, а также материал методических...
Отчет о выполнении лабораторной работы №10 iconПравила работы в химической лаборато рии при выполнении лабораторных работ по химии (общей химии)
Перед каждой лабораторной работой необходимо изучить соответствующий лекционный и литературный материалы, а также материал методических...
Отчет о выполнении лабораторной работы №10 iconДополнительный список
Отчёт о выполнении экзаменационной работы по биологии обучающихся, освоивших программу основного общего образования в 2009\10 уч...
Отчет о выполнении лабораторной работы №10 iconДополнительный список
Отчёт о выполнении экзаменационной работы по географии обучающихся, освоивших программу основного общего образования в 2009\10 уч...
Отчет о выполнении лабораторной работы №10 iconДополнительный список
Отчёт о выполнении экзаменационной работы по обществознанию обучающихся, освоивших программу основного общего образования в 2009\10...
Отчет о выполнении лабораторной работы №10 iconДополнительный список
Отчёт о выполнении экзаменационной работы по геометрии обучающихся, освоивших программу основного общего образования в 2009\10 уч...
Отчет о выполнении лабораторной работы №10 iconН. Э. Баумана Методические указания для лабораторной работы по курсам апбс ч. 3, «Биотелеметрия» оптические системы связи в биотелеметрии лабораторная работа
Методические указания для лабораторной работы по курсам апбс ч. 3, «Биотелеметрия»
Отчет о выполнении лабораторной работы №10 iconН. Э. Баумана Методические указания для лабораторной работы по курсам апбс ч. 3, «Биотелеметрия» оптические системы связи в биотелеметрии лабораторная работа
Методические указания для лабораторной работы по курсам апбс ч. 3, «Биотелеметрия»
Отчет о выполнении лабораторной работы №10 iconОтчет мкоу сош №1 с. Дивное о выполнении муниципального задания за 1 квартал 2012 года № п/п Наименование показателя Единица измерения
Отчет мкоу сош №1 с. Дивное о выполнении муниципального задания за 1 квартал 2012 года
Разместите кнопку на своём сайте:
Документы


База данных защищена авторским правом ©podelise.ru 2000-2014
При копировании материала обязательно указание активной ссылки открытой для индексации.
обратиться к администрации
Документы

Разработка сайта — Веб студия Адаманов