Структура команд мікропроцесора і використання їх машинних кодів

Страницы работы

Содержание работы

Мета роботи: вивчити структуру команд мікропроцесора та навчитися використовувати їх машинні коди. Задіяти можливості, що представляються системною програмою Debug.

  1. Створив виконуємий  файл (lab2.exe).
  2. Перевірив роботу різних команд відладчика:
  • А (assemble) – використовується для вводу команд у пам’ять (починається з конкретного зміщення);
  • D (dump) – відображення змісту ділянки пам’яті у HEX та ASCII кодах;
  • E (enter) – ввод команд або даних у HEX коді;
  • G (go) – перейти по адресу;
  • L (load) – загрузка файлу;
  • N (name) – присвоєння файлу імені;
  • Q(quit) – вихід;
  • R (register) – відображення змісту всіх або конкретного регістру та наступної команди;
  • U (unassemble) – відображення команд із діапазону пам’яті у HEX та ASCII кодах;
  • T (trace) – покроковий прохід програми (можливий перехід на один або декілька кроків);
  • W (write) – запис на диск у файл змісту діапазону пам’яті;
  • існують також інші команди, які у даній роботі не використовуються.
  1. Виконуючи команди керування флагами, вивчили зв’язок між дволітерними позначенями значень флагів та їх значеннями “1”, “0”. Наприклад, СF=1: CY; СF=0: NC; ZF=1: ZR; ZF=0: NZ; PF=1: PEPF=1: PO та інші.

Текст програми на асемблері

              title    labrab_2

                     page     ,132

           stc       segment  stack

                     db       128 dup (?)

           tos       label    word

           stc       ends

           dats      segment

           text1     db       'begin labrab_2',0ah,0dh,'$'

           text2     db       'end labrab_2',0ah,0dh,'$'

           A         dw       3 dup (-5),7,-10,15,2 dup (0,-3)

           B         dw       10 dup (?)

           kol       dw       10

           dats      ends

           cods      segment

                     assume   cs:cods,ds:dats,ss:stc

           beg:      mov      ax,stc

                     mov      ss,ax

                     mov      sp,offset tos

                     mov      ax,dats

                     mov      ds,ax

                     mov      ah,9h       ;  Вывод

                     lea      dx,text1    ; сообщения

                     int      21h         ; на экран

                     mov      cx,kol

                     xor      si,si       ; i:=0

                     mov      di,18       ; j:=9

           l1:       mov      ax,A[si]    ; (ax):=A[i]

                     mov      B[di],ax    ; B[j]:=A[i]

                     add      si,2        ; i:=i+1

                     sub      di,2         ; j:=j-1

                     loop     l1

                     mov      ah,9h        ;  Вывод

                     lea      dx,text2     ; сообщения

                     int      21h          ; на экран

                     mov      ah,4ch       ;  Возврат

                     int      21h          ; в систему

            cods     ends

                     end      beg.

Висновки: вивчив структуру команд мікропроцесора та навчився використовувати їх машинні коди. Використав можливості, що представляються системною програмою Debug. Закріпив навички у написанні простих програм мовою асемблера.

Похожие материалы

Информация о работе