738

Инструкции обработки цепочек на языке ассемблер

Лабораторная работа

Информатика, кибернетика и программирование

Изучить команды обработки цепочек процессора i8086. Зашифровать строку по таблице. Таблица считается известной.

Русский

2013-01-06

89 KB

12 чел.

Министерство образования и науки Российской Федерации

Муромский институт (филиал)

Федерального государственного бюджетного образовательного учреждения высшего профессионального образования

«Владимирский государственный университет

имени Александра Григорьевича и Николая Григорьевича Столетовых»

(МИ(филиал)ВлГУ)

Факультет                  ФРЭКС                  

Кафедра                    ЭиВТ                   

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

РАБОТА №4

по программированию на языке ассемблера

Тема: Инструкции обработки цепочек

                    

        Руководитель

                                                             Бейлекчи Д.В.                   

           (фамилия, инициалы)

                                                     

(подпись)   (дата)

       Студент          ПО - 110       

  (группа)

      Алексеев  К. В.               

           (фамилия, инициалы)

        ______________________                                   

       (подпись)   (дата)

2012

Цель  работы:  Изучить команды обработки цепочек процессора i8086. 

Задание: Зашифровать строку по таблице. Таблица считается известной.

Ход работы:

Код программы:

;описание сегмента данных

data segment

msg1 db 'Введите строку символов (a-z) и нажмите Enter:',10,13,'$'

msg2 db 'Результат:',10,13,'$'

stroka db 100 dup (?),'$'

;coding         'abcdefghijklmnopqrstuvwxyz'   соответствие кодирования

table1 db 'zyxwvutsrqponmlkjihgfedcba'

len dw ?

data ends

;описание сегмента стэка

stak segment stack

db 256 dup(?)

stak ends

;описание сегмента кода

code segment

;указание соответсвующих сегментных регистров сегментам

assume ds:data,es:data,cs:code,ss:stak

start:

;настройка регистров DS,ES на начало сегмента данных

mov ax,data

mov ds,ax

mov es,ax

mov ah,9 ;ф-я 9 вывод строки заканчивающейся $

lea dx,msg1 ;загрузка адреса переменной в dx

int 21h;вызов прерывания

lea dx,stroka  ;загрузка адреса переменной для хранения символа в dx

call input      ;вызов процедуры считывания с клавиатуры

mov len,ax ;занесение в переменную len количества введенных символов + 2

sub len,2 ;отнимаем 2 для получения количества символов без признаков перевода строки

lea si,stroka ;загрузка адреса строки в si

lea di,stroka;загрузка адреса строки в di

mov cx,len ;занесение количества введеных символов в счетчик сх

cld ;обработка строки слева на право

;цикл шифрования

cycle:

lodsb ;загрузка элемента строки в al

sub ax,61h ;отнимаем 61 - получаем смещение в таблице шифрования для данной буквы

mov bx,ax ;занесение смещения в таблице шифрования в bx

mov al,table1+bx ;занесение в al элемента с таблицы что соответствует смещению

stosb ;запись элемента из al в строку

loop cycle ;цикл пока сх не равен 0

mov ah,9 ;ф-я 9 вывод строки заканчивающейся $

lea dx,msg2 ;загрузка адреса переменной в dx

int 21h;вызов прерывания

mov ah,9 ;ф-я 9 вывод строки заканчивающейся $

lea dx,stroka ;загрузка адреса строки в dx

int 21h;вызов прерывания

mov ah,8 ;ввод без вывода на экран для задержки

int 21h;вызов прерывания

mov ax,4C00h;запись номера функции завершения работы программы

                                   ;с кодом 0

int 21h;вызов прерывания

;процедура ввода

input proc

mov ah,3Fh ;ф-я 3Fh универсальная функция считывания

mov bx,0 ;считывание с клавиатуры

mov cx,100 ;кол-во считываемых символов символов

int 21h;вызов прерывания

ret ;возврат в главную программу

input endp  ;конец процедуры

code ends

end start

Тестирование программы:

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


 

А также другие работы, которые могут Вас заинтересовать

84352. Внутренняя политика Екатерины II 25.08 KB
  Цели: Образовательные: изучение личности Екатерины II ознакомление учащихся с ее преобразованиями сформировать у учащихся представления о внутренней политике Екатерины II; Развивающие: создать условия для развития логического и образного и критического мышления...
84354. Измерение и сравнение длины предметов. Знакомство со старинными мерами длины 5.24 MB
  Предметные результаты: Продолжить формирование умений измерять и сравнивать длину предметов различными мерами длины закреплять умение сравнивать длины предметов различными способами развитие глазомера внимания памяти.
84356. Нации и межнациональные отношения 75 KB
  Тип урока комбинированный Используемые технологии: личностно-ориентированного обучения и воспитания развитие ключевых компетентностей учащихся; проблемного обученияпроблемный вопрос: стихотворение Кострова; дебаты Этническое многообразие богатство или беда России...
84357. Правоохранительные органы 50.5 KB
  Цели урока: Образовательная: познакомить учащихся с правоохранительными органами их функциями; учить пользоваться правовой терминологией а также различать в какую структуру должен обратиться гражданин для защиты своих прав; Развивающая: продолжить формирование умения вести дискуссию аргументировать...
84358. Деление двузначного числа на однозначное 25.31 KB
  Цели урока: содействовать закреплению знаний по теме Деление суммы на число, развивать умение применять эти знания при решении примеров и задач; совершенствовать вычислительные навыки; умение осуществлять перенос ранее усвоенных знаний в новые условия...
84359. Глобальная компьютерная сеть Интернет 746.5 KB
  Цели и задачи: Общеобразовательные учащиеся должны освоить основные базовые понятия информатики: Интернет, браузер, поисковые системы, общение в сети Интернет, усвоить виды браузеров и их назначение, усвоить примеры поисковых систем и их назначение.
84360. Осевая симметрия 39.94 KB
  Цели: Образовательные Закрепить понятия о симметричных предметах и геометрических фигурах. Дать понятие о предметах и геометрических фигурах, симметрично расположенных относительно оси симметрии. Коррекционные Развивать предметно – практическую деятельность.