Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа №2 / Отчет(2 лаба)

.doc
Скачиваний:
59
Добавлен:
02.05.2014
Размер:
68.1 Кб
Скачать

Федеральное агентство по образованию

Уфимский государственный авиационный технический университет

Кафедра технической кибернетики

Отчет

По лабораторной работе №2

«Ассемблер: программирование ветвлений и циклов»

Выполнил: студент гр. РС-218

Иванов О.В.

Проверила: ассистент Семененко Д.В.

Уфа 2007

Цель работы: целью работы является закрепление знаний по командам условного и безусловного переходов и циклов на примере программ на языке ассемблера, а также приобретение навыков написания программ с циклами.

Задание: определить, сколько цифровых и нецифровых символов присутствует в заданной символьной строке.

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

STACK SEGMENT PARA STACK 'STACK'

DB 64 DUP('STACK')

STACK ENDS

DSEG SEGMENT PARA PUBLIC 'DATA'

Mas db '1a34b678c0'

len_mas equ 10

DSEG ENDS

CSEG SEGMENT PARA PUBLIC 'CODE'

ASSUME CS:CSEG, DS:DSEG, SS:STACK

START PROC FAR

PUSH DS

SUB AX,AX

PUSH AX

MOV AX,DSEG

MOV DS,AX

MOV CX,LEN_MAS

XOR AX,AX

XOR SI,SI

CYC1: JCXZ EXIT

CMP MAS[SI],48

JAE B1

JB M1

B1: CMP MAS[SI],57

JBE M2

JA M1

M1: INC BX ;Simvoli

JMP B2

M2: INC AX ;Cifri

B2: INC SI

DEC CX

JMP CYC1

EXIT: MOV AX, 4C00H

INT 21H

START ENDP

CSEG ENDS

END START

Тестирование

Символьная строка

Ожидаемый результат

Фактический результат

'1a34b678c0'

ax=0007 bx=0003

ax=0007 bx=0003

Вывод: в ходе лабораторной работы приобрели навыки написания программ с условными и безусловными переходами и циклами.

Блок-схема программы:

начало

инициация сегмента

данных, адреса строки,

счетчика для цикла

CYC1: счетчик да

элементов = 0?

нет

является символ да

нецифрой?

нет

увелечение счетчика

искомых элементов

является символ да

цифрой?

нет

увелечение счетчика

искомых элементов

уменьшение счетчика

элементов, переход к

следуещему символу

конец

Соседние файлы в папке Лабораторная работа №2