Вивчення структури команд процесора, використання їхніх машинних кодів. Можливості, надані системною програмою debug

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

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

Лабораторна робота № 2.

Тема: Вивчити структуру  команд процесора і навчитися використовувати

     їхні машинні коди . Задіяти можливості, надані  системною програмою debug.

Мета: Придбати навички при роботі на MASM

Хід виконання лабораторної роботи.

Текст програми на мові Assembler:

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       0,1,2,3,4,5,6,7,8,9

           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

Создаємо EXE-файл за допомогою програм Masm та Link. У резулбтаты виконання цих команд створюэться EXE-файл, файл лістінга та файл перехресних ссилок.

Файл лістінгу .lst:

Microsoft (R) Macro Assembler Version 5.10                  9/21/3

labrab_2                                                    Page     1-1

       1                                title    labrab_2

       2                                                   page     ,132

       3 0000                                          stc       segment  stack

       4 0000  0080[                                                   db       128 dup (?)

       5    ??                      

       6                     ]       

       7                             

       8 0080                                          tos       label    word

       9 0080                                          stc       ends

      10 0000                                         dats      segment

      11 0000  62 65 67 69 6E 20                    text1     db       'begin labrab_2',0ah,0dh,'$'

      12       6C 61 62 72 61 62  

      13       5F 32 0A 0D 24               

      14 0011  65 6E 64 20 6C 61                   text2     db       'end labrab_2',0ah,0dh,'$'

      15       62 72 61 62 5F 32  

      16       0A 0D 24                         

      17 0020  0000 0001 0002 0003              A         dw       0,1,2,3,4,5,6,7,8,9

      18       0004 0005 0006 0007      

      19       0008 0009              

      20 0034  000A[                                       B         dw       10 dup (?)

      21             ????                             

      22                             ]       

      23                                      

      24 0048  000A                                        kol       dw       10

      25 004A                                                  dats      ends

      26 0000                                         cods      segment

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

      28 0000  B8 ---- R                         beg:      mov      ax,stc

      29 0003  8E D0                                                 mov      ss,ax

      30 0005  BC 0080 R                                mov      sp,offset tos

      31 0008  B8 ---- R                                   mov      ax,dats

      32 000B  8E D8                                                mov      ds,ax

      33 000D  B4 09                                                 mov      ah,9h       ;  Вывод

      34 000F  8D 16 0000 R                                     lea      dx,text1    ; сообщения

      35 0013  CD 21                                                 int      21h         ; на экран

      36 0015  8B 0E 0048 R                                     mov      cx,kol

      37 0019  33 F6                                                  xor      si,si       ; i:=0

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

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