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

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

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


 

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

59118. Засвоєння таблиці множення числа 8. Задачі на спосіб зведення до одиниці 30 KB
  Обладнання: таблиця з короткою умовою задачі картки з відповідями картка з числами для гри Фотограф картки зі словами для логічної розминки карткивідповіді для гри Блискавка фішки таблиця оцінювання. За правильне виконання завдань ви отримуватимете фішки...
59120. Схаменіться, люди, ще не пізно. Позакласний захід з екологічного виховання в початковій школі 49 KB
  Перший ведучий. Усім відомо, що природа на землі сформувалася до появи людини. Первісні люди були такою ж частиною природи, як і дикі звірі, а головною їх проблемою був голод.
59121. Сценарій свята першого дзвоника 52.5 KB
  Ведуча: Кожен з нас очікував свята Влітку мріючи про ліцей Хочемо все і про всіх ми знати Зігріва нас вогник очей Ведучий: Хто не вперше сюди приходить Той цінує дарунок щодня. Ведучий: Ми вас раді друзі вітати. Ведуча: А сьогодні у нас дійсно свято бо з маленьких бешкетників...
59122. Табличний процесор, його призначення. Основні функції табличного процесора 53 KB
  Що є спільне в усіх цих програмах Що їх відрізняє одна від одної Який шлях до цих програм від головного меню Яким способом можна створити документ у цих програмах не чіпаючи головного меню. Як викликати контекстне меню для певного обєкта ІІ План подання нового матеріалу.
59123. Протиставлення життєвого вибору в долях синів Тараса Бульби 49 KB
  Гоголя Тарас Бульба розкрити силу характеру Остапа і причини трагедії Андрія; проаналізувати художні засоби створення образів скласти порівняльну характеристику героїв; розвивати навички порівняльної характеристики персонажів переказу вміння давати розгорнуту відповідь на поставлені запитання...
59124. Тарас Шевченко – художник 59.5 KB
  Обладнання: репродукції картин художника альбом Шевченкохудожник куточок поетахудожника куточок читача. Відомо: Україна це Шевченко Шевченко це Україна. Шевченко.
59125. Твір-опис природи за картиною 28.5 KB
  Що змальовано на них Красу природи. Ми часто зустрічаємося з пейзажем в художніх творах письменники передають їхнє ставлення до описаного куточка природи певний настрій а допомагають їм у цьому відповідним чином дібрані художні засоби мислення.
59126. Ну що б, здавалося, слова... (Тарас Шевченко) 41.5 KB
  Мета: повторити узагальнити та систематизувати навчальну інформацію учнів з даної теми розширити словниковий запас учнів формувати вміння доречно вживати слова у своєму мовленні розвивати творчу індивідуальність спостережливість...