Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364139
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62791)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21319)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21692)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8692)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3462)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20644)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

Контрольная работа: Программы копирования строки

Название: Программы копирования строки
Раздел: Рефераты по информатике
Тип: контрольная работа Добавлен 00:56:30 03 декабря 2010 Похожие работы
Просмотров: 5 Комментариев: 19 Оценило: 2 человек Средний балл: 5 Оценка: неизвестно     Скачать

Министерство РФ по связи и информатизации

Поволжская государственная академия телекоммуникаций

и информатики

Кафедра «ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА»

КОНТРОЛЬНАЯ РАБОТА

ПО ПРЕДМЕТУ

«Организация ЭВМ и систем»

Самара

2009 г.


Программа копирования строки в обратном порядке

Составить программу копирования строки из 15 символов в рядом расположенную область памяти, но в обратном порядке.

Для этого мы создаём две строки. Одна выполняет роль источника данных, а другая – приёмник. Затем мы определяем адрес источника и получателя с помощью команды Lea, которая является альтернативой оператору ассемблера offset. В отличие от offset команда lea допускает индексацию операнда, что позволяет более гибко организовать адресацию операндов. Так как нам нужно заполнить память в обратном порядке, то мы сразу смещаем адрес приёмника DI на 15 байтов. Организовываем цикл и посредством промежуточного регистра AL заносим наши символы в регистр DI, уменьшая, с каждым шагом, байты записи. После того, как счётчик CX уменьшится до 0, программа завершит свою работу

ЛИСТИНГ ЗАДАЧИ «Программирование строки в обратном порядке»

Задача 17

Data Segment ; открыть сегмент данных

text1 DB 'My name Valerij', 13, 10, '$'

text2 DB 25 DUP(?) ; строка получатель

Data ENDS ; Закрыть сегмент данных

;-----------------------------------------------

STK Segment ; открыть сегмент данных

DB 100 DUP(?) ; зарезервировать под стек 100 ячеек памяти

STK ENDS ; закрыть сегмент стека

;---------------------------------------------------

ASSUME SS:STK, CS:CODE, DS:DATA ;назначить сегментные регистры

;-----------------------------------------------------

CODE Segment ; открыть сегмент кода

START: mov AX, DATA ; загрузка сегментного регистра DS

mov DS, AX ; регистра DS

lea SI, TEXT1 ; начальный адрес строки-источника занести в SI

lea DI, TEXT2 ; начальный адрес строки получателя занести в DI

mov CX, 15 ; переслать 15 байтов

Metka1: mov AL, [SI] ; выполнить пересылку

mov [DI + 15], AL ; через промежуточный регистр AL

INC SI ; увеличить адрес источника на 1

DEC DI ; уменьшить адрес источника на 1

LOOP Metka1 ; (CX)-1, повторить цикл пока CX не равно 0

mov AL, 0 ; завершить программу через

mov AH, 4Ch ; системную функцию возврата

int 21h ; в DOS

CODE ENDS ; закрыть сегмент кода

END START ; закрыть программу

Программа копирования строки на прямую

Составить программу производящую копирование строки из 15 символов в расположенную рядом область памяти.

Задача, практически идентичная предыдущей. За исключением способа пересылки строки. В данном случее нам уже не требуется вести запись в обратном порядке. Также, создаём две строки. Одна выполняет роль источника данных, а другая – приёмник. Затем мы определяем адрес источника и получателя с помощью команды Lea. Приёмник DI на 15 байтов больше не смещаем.

Организовываем цикл и посредством промежуточного регистра AL заносим наши символы в регистр DI. При каждом шаге байты будем увеличивать в регистре DI на один. После того, как счётчик CX уменьшится до 0, программа завершит свою работу.

ЛИСТИНГ ЗАДАЧИ «Программа копирования строки на прямую»

Задача 1

Data Segment ; открыть сегмент данных

text1 DB 'abcdefghijklmno', 13, 10, '$'

text2 DB 25 DUP(?) ; строка получатель

Data ENDS ; Закрыть сегмент данных

;-----------------------------------------------

STK Segment ; открыть сегмент данных

DB 100h DUP(?) ; зарезервировать под стек 100 ячеек памяти

STK ENDS ; закрыть сегмент стека

;---------------------------------------------------

ASSUME SS:STK, CS:CODE, DS:DATA ;назначить сегментные регистры

;-----------------------------------------------------

CODE Segment ; открыть сегмент кода

START: mov AX, DATA ; загрузка сегментного регистра DS

mov DS, AX ; регистра DS

lea SI, TEXT1 ; начальный адрес строки-источника занести в SI

lea DI, TEXT2 ; начальный адрес строки получателя занести в DI

mov CX, 15 ; переслать 15 байтов

Metka1: mov AL, [SI] ; выполнить пересылку

mov [DI], AL ; через промежуточный регистр AL

INC SI ; увеличить адрес источника на 1

INC DI ; увеличить адрес приёмника на 1

LOOP Metka1 ;(CX)-1 повторить цикл пока CX не равно 0

mov AL, 0 ; завершить программу через

mov AH, 4Ch ; системную функцию возврата

int 21h ; в DOS

CODE ENDS ; закрыть сегмент кода

END START ; закрыть программу


Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Хватит париться. На сайте FAST-REFERAT.RU вам сделают любой реферат, курсовую или дипломную. Сам пользуюсь, и вам советую!
Никита22:39:13 04 ноября 2021
.
.22:39:12 04 ноября 2021
.
.22:39:10 04 ноября 2021
.
.22:39:08 04 ноября 2021
.
.22:39:07 04 ноября 2021

Смотреть все комментарии (19)
Работы, похожие на Контрольная работа: Программы копирования строки

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

Да, в любом случае.
Да, но только в случае крайней необходимости.
Возможно, в зависимости от цены.
Нет, напишу его сам.
Нет, забью.



Результаты(294402)
Комментарии (4230)
Copyright © 2005 - 2024 BestReferat.ru / реклама на сайте