Отчет 3 (565155)
Текст из файла
Ф ЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮМ ОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ(государственный технический университет)Кафедра 304(вычислительные машины, системы и сети)Лабораторная работа по курсу«Ассемблер»Отчёт по работе№3 .Блочная структура программы(наименование работы)и линейное программирование на языке AssemblerВариант задания№2 .Лабораторную работу выполнили:студенты гр.
13-501, Резвяков Денис Михайлович,(должность)(Ф. И. О.)Коршунов Евгений Владимирович.Лабораторную работу принял:доцент каф. 304, к.т.н. Алещенко Алла Степановна(должность)(Ф. И. О.)« 1 ».(подпись)декабря(дата приёма)2009 г.Цель работы: Освоить программирование блочной структурыпрограммы на Ассемблере. Освоить сборку исходного кодав исполняемый файл, используя программный пакет TASM.Задание1.
Ознакомиться с образцами программ.2. Разработать программу на Ассемблере для реализациилинейного процесса, аналогичного в лабораторной работе №1.Расчётная формула: c×d+(a mod b)+(a2-7).Аргументы: a = 29, b = 18, c = 31, d = -14.–2–Блок-схемаБлок-схема процедуры вывода целого числа в консоль:–3–Код программы реализации линейного процессаsseg segment stackdb 64 dup (?)sseg ends;dseg segmentstr_result db "Result: $"value_a dw 29value_b dw 18value_c dw 31value_d dw -14dseg ends;cseg segmentassume cs:cseg, ds:dseg, ss:sseg;start proc farpush dspush axmov bx, dsegmov ds, bxstartouttxtouttxtcalccall outtxtcall calccall outintretendp; Процедура вывода текста "Result: ".
Процедура ломает AH, DX.proc nearlea dx, str_result ; Эквивалент - "mov dx, offset str_result"mov ah, 9int 21hretendp;; Процедура вычисления формулы: c*d + (a mod b) + (a^2 - 7).; Процедура ломает AX, CX, DX.proc nearmov ax, value_c ; Заносим значение C в регистр AXimul value_d; Умножаем AX на значение Dmov cx, ax; Копируем результат в регистр CXmov ax, value_acwdidiv value_badd cx, dxmovimulsubaddretcalc endp;;;;Заносим значение A в регистр AXРасширяем значение AX до (DX,AX)Делим (DX,AX) на значение BПрибавляем остаток от деления к сумме в CXax, value_a ; Заносим значение A в регистр AXax; Умножаем AX само на себяax, 7; Вычитаем из результата (AX) число 7ax, cx; Складываем CX и AX, результат заносим в AX–4–; Процедура вывода числа, хранящегося в AX.; Процедура ломает AX, BX, CX, DX.outint proc nearxor bx, bx ; Обнуляем BX - это будет признак отрицательного числаmov cx, 10 ; В CX заносим число 10 - основание десятичной системыpush bx; Заносим нуль в стек - это признак конца строкиcmp ax, 0; Сравниваем выводимое число с нулёмjnl oi_get ; ...если не отрицательное, то переходим к вычислениямinc bl; Устанавливаем признак отрицательного числаneg ax; Само число делаем положительнымoi_get: xor dx, dx ; Обнуляем регистр DX перед делением, т.к.
AX >= 0idiv cx; Делим (DX,AX) на CX, т.е. на 10ordl, 30h ; Преобразуем цифру в код символа, добавляя код 30hpush dx; Заносим очередной символ в стекcmp ax, 0; Сравниваем результат деления с нулёмjne oi_get ; ...если результат не нуль, то продолжаем делитьmovcmpjemovoi_nxt: intoi_put: popcmpjneretoutint endpah, 6bl, 0oi_putdx, '-'21hdxdx, 0oi_nxt;;;;;;;;Заносим код 6 для команды вывода символа на экранСравниваем признак отрицательного числа с нулём...если признака нет, то переходим к выводу числаПомещаем код символа минус в регистрВызываем обработку команды 6 - вывода символаВытаскиваем очередной код символа из стекаСравниваем символ с признаком конца строки - с нулём...если символ не нулевой, то продолжаем циклcseg endsend startРезультат работы программыResult: 411–5–.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.