- •Содержание
- •Введение
- •Варианты заданий:
- •Лабораторная работа №2 Вариантыпример отчетак содержанию
- •Варианты заданий:
- •Лабораторная работа №3 Вариантыпример отчетак содержанию
- •Варианты заданий к лабораторной работе №3
- •Лабораторная работа №4 Вариантыпример отчетак содержанию
- •Варианты заданий лабораторной работы №4
- •41. В прямоугольной матрице обменять первый столбец с последним.
- •Оценка результатов практикик содержанию
- •Рекомендованная литература
- •Отладка программы в среде отладчикаTd к содержанию
- •Разбор внутреннего представления командк содержанию
- •Примеры разбора команд
- •1. Команды с регистровой адресацией
- •2.Команды с прямой адресацией
- •3. Арифметические команды с непосредственной адресацией
- •4. Команда mov с непосредственной адресацией
- •5. Команды с использованием аккумулятора
- •6. Команды условного перехода (с относительной адресацией)
- •7. Команды безусловного перехода (с относительной адресацией)
- •8. Команда вызова подпрограммы (с относительной адресацией)
- •9. Команда завершения цикла (с относительной адресацией)
- •10. Команды с косвенной адресацией
- •Міністерство освіти і науки
- •Пример отчета по лабораторной работе №1к лаб. Раб.№1
- •Пример отчета по лабораторной работе №2к лаб. Раб.№2
- •Пример отчета по лабораторной работе №3к лаб. Раб.№3
- •Пример отчета по лабораторной работе №4к лаб. Раб. №4
Пример отчета по лабораторной работе №1к лаб. Раб.№1
Министерство образования и науки Украины
Донецкий национальный технический университет
Кафедра компьютерной инженерии
Отчет
по лабораторной работе №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 1Epushds
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 0000rmoval,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
STACK16 0040ParaStack
5. Дапм памяти до выполнения программы:
Дамп памяти после выполнения программы:
По адресу ds:0003 находится переменная Х, которая до выполнения программы равна 0, а после выполнения 1.
6. Выводы
В процессе выполнения лабораторной работы были усвоены форматы и алгоритмы работы арифметических команд. Результаты работы программы совпадают с результатами, полученными в ручном расчете.