Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

Информатика->Реферат
Информационная техника может значительно способствовать выполнению требований рынка. Определенного роста эффективности можно достичь и с помощью локал...полностью>>
Информатика->Реферат
В настоящее время развитие web-технологий крайне интенсивно. Десять лет назад в процессе разработки интернет-приложений программистам приходилось букв...полностью>>
Информатика->Реферат
товаров покупателям Розничная торговля Решение о выдачи заказа и его запаздывание Транспортное запаздывание Запаздывание выполнения заказов Запаздыван...полностью>>
Информатика->Реферат
История вычислений уходит глубокими корнями в даль веков так же, как и развитие человечества. Накопление запасов, делёж добычи, обмен — все подобные д...полностью>>

Главная > Контрольная работа >Информатика

Сохрани ссылку в одной из сетей:

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

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

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

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

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

ПО ПРЕДМЕТУ

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

Самара

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 ; закрыть программу



Загрузить файл

Похожие страницы:

  1. Прикладное программное обеспечение. Классификация ППО. Программы, обрабатывающие тексты

    Курсовая работа >> Информатика
    ... , наборами стандартных шрифтов, редактированием изображений, копированием и перемещением фрагментов по страницам экрана ... экране раскрывается окно программы StarWriter с пустым листом. Окно программы содержит строку меню со ...
  2. Разработка программ, включающих данные файлового типа

    Практическая работа >> Информатика, программирование
    ... Ввод с клавиатуры очередной строки {Если введенная строка равна zzz, то закрыть ... файлу произвольные две строки и повторите режим 2. Отлаженный проект программы сохраните в папке ... его в file-i.doc. 3. Создайте программу копирования файла file-i.doc в файл file ...
  3. Разработка Windows-программ. Знакомство с Delphi

    Контрольная работа >> Информатика, программирование
    ... : Разработать программу копирования файлов в стиле командной строки MS-DOS Командная строка: _COPY Платформа: Программа должна ... выполнения копирования Конец цикла Завершение программы Замечания по реализации: Выдавать титульную строку и сообщение ...
  4. Основы Windows. Копирование. Буфер обмена Программы Проводник и Мой компьютер

    Реферат >> Информатика, программирование
    ... увеличить размер окна, выполнить Вид/Строка состояния. Помеченную группу файлов ... файлов указан в строке состояния внизу окна.) Копирование с помощью Буфера ... - открытие документа или запуск программы. Копирование с помощью Проводник перетаскиванием На ...
  5. Виды прикладных программ

    Реферат >> Информатика
    ... просмотр текста; редактирование строк программы; копирование и перенос блоков текста; копирование одной программы или ее части ... просмотр текста; редактирование строк программы; копирование и перенос блоков текста; копирование одной программы или ее части ...

Хочу больше похожих работ...

Generated in 0.0021638870239258