Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Министерство образования и науки Украины
Донецкий национальный технический университет
Кафедра компьютерной инженерии
Отчет
по лабораторной работе №1
на тему: Программирование арифметических выражений
Выполнил:
Проверил:
Донецк 2013
1. Задание
; a=2, b=-5, c=17.
2. Контрольный просчет результатов
Как видно из результатов просчета все данные и промежуточные результаты помещаются в поле памяти байт, поэтому все переменные будем описывать типом байт.
3. Блок-схема программы
4. Листинг программы
1;Условие
2; a^3+b*c/a
3; X = -----------.
4; a^2-b^2
5;a=2; b=-5; c=17;
6 0000 stack segment STACK
*Warning* LAB1.ASM(6) Reserved word used as symbol: STACK
7 0000 40*(??) db 64 dup(?)
8 0040 stack ends
9 0000 data segment
10 0000 02 a db 2
11 0001 FB b db -5
12 0002 11 c db 17
13 0003?? x db?
14 0004 data ends
15 0000 code SEGMENT
16 assume ss:stack,ds:data,cs:code
17 0000 start proc far
18;--------------Возврат в dos
19 0000 1E push ds
20 0001 2B C0 sub ax,ax
21 0003 50 push ax
22;--Занесение в регистр ds адреса сегмента данных
23 0004 B8 0000s mov ax,data
24 0007 8E D8 mov ds,ax
25;--------------Начало программы
26 0009 A0 0000r mov al,a;а
27 000C F6 2E 0000r imul a;а^2
28 0010 F6 2E 0000r imul a;a^3
29 0014 8A D8 mov bl,al;bl:=a^3
30 0016 A0 0001r mov al,b;b
31 0019 F6 2E 0002r imul c;b*c
32 001D F6 3E 0000r idiv a;b*c/a
33 0021 02 C3 add al,bl;a^3+b*c/a
34 0023 8A D8 mov bl,al;числитель в bl=a^3+b*c/a
35 0025 A0 0000r mov al,a;a
36 0028 F6 2E 0000r imul a;a^2
37 002C 8A C8 mov cl,al;cl:=а^2
38 002E A0 0001r mov al,b;b
39 0031 F6 2E 0001r imul b;b^2
40 0035 2A C8 sub cl,al;знаменатель cl=a^2-b^2
41 0037 8A C3 mov al,bl;числитель в al=a^3+b*c/a
42 0039 98 cbw;подготовка к делению
43 003A F6 F9 idiv cl;в al частное
44 003C A2 0003r mov x,al;x:=al
45 003F CB st_ret: ret
46 0040 start endp
47 0040 code ends
48 end start
Symbol Name Type Value
??DATE Text "29/05/12"
??FILENAME Text "LAB1 "
??TIME Text "16:32:16"
??VERSION Number 030A
@CPU Text 0101H
@CURSEG Text CODE
@FILENAME Text LAB1
@WORDSIZE Text 2
A Byte DATA:0000
B Byte DATA:0001
C Byte DATA:0002
START Far CODE:0000
ST_RET Near CODE:003F
X Byte DATA:0003
Groups & Segments Bit Size Align Combine Class
CODE 16 0040 Para none
DATA 16 0004 Para none
STACK 16 0040 Para Stack
5. Дапм памяти до выполнения программы:
Дамп памяти после выполнения программы:
По адресу ds:0003 находится переменная Х, которая до выполнения программы равна 0, а после выполнения 1.
6. Выводы
В процессе выполнения лабораторной работы были усвоены форматы и алгоритмы работы арифметических команд. Результаты работы программы совпадают с результатами, полученными в ручном расчете.
Дата публикования: 2015-04-10; Прочитано: 320 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!