↑ вверх

Помощь дистанционщикам!
ДО СибГУТИ (www.do.sibsutis.ru),
ДО СибАГС (www.sapanet.ru),
ДО НГУЭиУ (sdo.nsuem.ru),
ДО СибУПК (sdo.sibupk.su) и др ВУЗы

Этот сайт продаётся. По всем вопросам обращаться по +7 913 923-45-34 (Денис)
Корзина пуста!
Обратная связь




Вариант 12 Лаба 04

20000
      
Просмотров: 622
Тип работы: Контрольная
Название предмета: Основы системного программирования
Тема/вариант: Вариант 12 Лаба 04
Объем работы: 5
ВУЗ: СибГУТИ
Дата выполнения: 2013-08-12
Размер файла, тип файла: 9.14 Kb, RAR
Прикрепленные файлы: Курс 170 Основы системного программирования (952 Kb)

 

ЛАБОРАТОРНАЯ РАБОТА 4
Тема: Использование процедур

Цель работы: Научиться описывать и использовать процедуры.

Порядок выполнения работы:
1.    Наберите и оттранслируйте следующую программу. (Программа содержит процедуру, которая вычисляет сумму элементов массива. Параметры передаются в регистрах: SI содержит указатель на первый элемент массива; CX содержит количество элементов в массиве; результат возвращается в AX).

TITLE Program8

;название программы

.MODEL small

;отводим под стек и под данные по 64Кб

.STACK 100h

;отмечаем начало сегмента стека

.DATA

;отмечаем начало сегмента данных

A DW 5, 3, 9, 4, 5

;описание массива из 5 элементов

.CODE

;отмечаем начало сегмента кодов

main PROC

 

Mov AX, @data

;копируем адрес

Mov DS, AX

;сегмента данных

Mov SI, OFFSET A

;заносим в SI начало массива А

Mov CX, 5

;в СХ заносим количество итераций

call VecSum

;вызов процедуры VecSum

Mov AX,4C00h

;выход

int 21h

;из программы

main ENDP

 

VecSum PROC NEAR

;описание процедуры

Mov AX, 0

 

Cld

 

or CX, CX

 

jz VecSumExit

lodsw

 

dec CX

 

L1:

 

Add AX, [SI]

 

Add SI, 2

 

Loop L1

 

VecSumExit:

 

Retn

 

VecSum ENDP

 

END main

 

ЗАКАЗАТЬ РАБОТУ
Отправь нам своё задание, и мы поищем твою работу в нашей базе готовых работ. А если не найдем, то порекомендуем партнеров, которые качественно смогут выполнить твой заказ.
(doc, docx, rtf, zip, rar, bmp, jpeg) не более 5 Мб