Программирование и комп-ры

Лабораторная работа по дисциплине теория и проектирование ЭВМ


МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ  РАДИОТЕХНИКИ , ЭЛЕКТРОНИКИ И
АВТОМАТИКИ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ )


ФАКУЛЬТЕТ   ВМС

КАФЕДРА ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ


                          ЛАБОРАТОРНАЯ РАБОТА Nо  2
                                     ПО

                                 ДИСЦИПЛИНЕ

                         ТЕОРИЯ И ПРОЕКТИРОВАНИЕ ЭВМ



                                                 СТУДЕНТЫ:  Львов  А  .Н.  и
Чернецкий  М. В.

                              ГРУППА: ВВ-61-96
                                      РУКОВОДИТЕЛЬ: Иванов Е .Л.



                                   МОСКВА
                                    2000

                              Задача  N 0    1.


  Составить программу для вычисления  выражения : N= (аi= а1 +а2 + … + an ,
 где n=10 ,ai - числа  натурального   ряда “1”. РОНы использовать следующим
                                 способом :


                              С – под счетчик циклов,

                            L – под текущее значение  аi ,
                                                               C и D  –  под
константы .
Результат вычислений разместить в ячейке 080Е .

С – количество циклов; C=0А
L – текущее значение константы; L=0А


Aдрес                 Коды                  Мнемоника        Комментарий

0010                    85                       ADD L
арифметическая операция  A((A) +(Ri)
0011                   2D                       DCR L
отрицательное приращение регистра
0012                   0D                       DCR C
отрицательное приращение регистра
0013                   C2                        JNZ adr
условный переход
0014                   -                           10
    -
0015                   -                           00
    -
0016                   26                        MVI H
непосредственная загрузка  регистра
0017                    -                          08
    -
0018                    2E                       MVI L
непосредственная загрузка регистра
0019                     -                         0E
    -
001A                   77                       MOV M,А             команда
пересылки
001B                   76                       HLT
останов


                                Задача No 2.

Составить программу для вычисления того же выражения. Константы  ai
расположить в ОЗУ в ячейках с адресами  0900 , 0901, … . РОНы использовать
аналогичным способом .Для вычисления текущего значения  N пользоваться
командой  ADD M .Результат вычислений записать в ОЗУ в ячейку 0850.
Константы ai задать произвольно .

С – счетчик  циклов ,
H, L – адрес ячейки, где находится текущее значение константы.

Адрес              Коды                       Мнемоника        Комментарий



0900                  -                               01
     -
0901                  -                               02
     -
0902                  -                               03
     -
0903                  -                               04
     -
0904                  -                               05
     -
0905                  -                               06
     -
0906                  -                               07
     -
0907                  -                               08
     -
0908                  -                               09
     -
0909                  -                               10
     -
0010                 86                             ADD M
A((A) +(Ri)
0011                 2D                            DCR L
отрицательное приращение регистра
0012                 0D                            DCR C
отрицательное приращение регистра
0013                 C2                            JNZ adr
условный переход
0014                                                  10
      -
0015                                                  00
      -
0016                 26                             MVI H
непосредственная  загрузка регистра
0017                                                  08
      -
0018                 2E                            MVI L
непосредственная  загрузка  регистра
0019                                                  50
       -
001А             77                             MOV M,A            команда
пересылки
001В                 76                             HLT
 останов


                               Задание No  3.

Cоставить программу для пересылки массива данных, расположенных в памяти
ячейки ОЗУ, начиная с 0900, в ячейки, начиная 0970.Данные выбрать
произвольно . Команды расположить в ячейках, начиная с 0800 .


C=05;
D=09;
E=10;
H=09;
L=00.


Адрес                    Коды                  Мнемоника
Комментарий

0800                       86                        ADD M
  A((A)+(Ri)
0801                       EB                       XCHG
 обмен между  DE и HL
0802                       77                        MOV M,A
команда пересылки
0803                       3E                       MVI A
   непосредственная загрузка регистра
0804                       -                           00
          -
0805                       EB                       XCHG
 обмен между    DE   и  HL
0806                       2C                        INR L
    положительное приращение регистра
0807                       1C                        INR E
    положительное приращение регистра
0808                       0D                        DCR C
  отрицательное приращение регистра
0809                       C2                        JNZ  adr
   условный переход
080А                      -                           00
         -
080В                      -                           08
         -
0800С                    76                        HLT
   останов


                                Задача No  4.

Cоставить программу для варианта задания 3 таким образом , чтобы последний
операнд массива записывался в ячейку 0970 , предпоследний – в ячейку 0971 и
т.д.

C=05;
H=09;
L=04;
D=09;
E=10.



Адрес             Коды                  Мнемоника           Комментарий

0800                86                       ADD M
A((A)+(Ri)
0801                EB                      XCHG
обмен между DE  и HL
0802                77                       MOV M,A
команда пересылки
0803                 3E                      MVI A
непосредственная    загрузка регистра
0804                 00                       -
     -
0805                 EB                     XCHG
обмен между  DE   и   HL
0806                 2D                     DCR L
отрицательное приращение регистра
0807                 1C                     INR E
положительное приращение регистра
0808                 0D                     DCR C
отрицательное приращение регистра
0809                 C2                     JNZ adr
условный переход
080A                00                      -
    -
080B                08                      -
    -
080C                76                      HLT
останов


                               Задание Nо  5.

Составить программу для пересылки массива данных из одной области памяти в
другую в соответствии со следующей схемой :

                          Адресное пространство ОЗУ

|                                                               |
|                                                               |
|0800 |Программа 100  |Массив данных 150|               |BFF  |
|     |ячеек          |                 |               |     |
|     |               |Операндов        |               |     |
|                 |



         Направление пересылки

Перед  составлением программы необходимо  вычислить начальные  адреса
каждой области ОЗУ.

C=05;
D=08;
E=FA;
H=08;
L=64.

Адрес   Код       Мнемоника           Комментарий

0800      86          ADD M                   A((A)+(Ri)
0801      EB         XCHG                    обмен между  (A)и   (F)
0802      77          MOV M ,A             команда пересылки
0803      3E          MVI A                    непосредственная загрузка
регистра
0804       -            00                            -
0805      EB         XCHG                     обмен между  (A)и    (F)
0806      23          INX  H                     положительное приращение
пары  регистров
0807      13          INX D                      положительное приращение
пары регистров
0808      0D        DCR C                      отрицательное приращение
регистра
0809      С2         JNZ adr                    условный переход
080A     -             00                             -
080B     -             08                             -
080C     76           HLT                         останов
0864     10           -
0865     20           -
0866     30           -
0867     40           -
0868     50           -

                               Задание No   6.

Cоставить программу умножения однобайтных двоичных чисел , используя любой
алгоритм умножения.

D=05;
E=02.


Адрес          Коды                Мнемоника                Комментарий



0010                06                   MVI B
непосредственная загрузка регистра
0011                -                      00
   -
0012                0E                   MVI C
непосредственная загрузка регистра
0013                -                      00
   -
0014                3E                   MVI  A
непосредственная загрузка регистра
0015                -                      01
   -
0016                A7                  ANA A
A((A)((Ri)
0017                F5                   PUSH   PSW
обращение к стеку
0018                A3                  ANA E
A((A)((Ri)
0019                78                   MOV A,B                    команда
пересылки
001А               CA                 JZ  adr
условный переход
001B               -                      1E
-
001С               -                      00
-
001D               82                   ADD D
A((A)+(Ri)
001E               1F                   RAR
операция циклического сдвига
001F                47                  MOV B,A                     команда
пересылки
0020                79                  MOV  A,C                    команда
пересылки
0021                1F                  RAR
операция циклического сдвига
0022                4F                  MOV  C,A                   команда
пересылки
0023                F1                  POP PSW                    выбор
(A) и (F)  из стека
0024                17                  RAL
операция циклического сдвига
0025                D2                 JNC adr
условный переход
0026                 -                    17
  -
0027                 -                    00
  -
0028                76                  HLT
останов


                              Задание   No   7.

Cоставить программу для  вычисления следующего выражения : N=(a+b)-(c*d) .
Числа однобайтные.При составлении программы использовать команду обращения
к подпрограммам и программу умножения, разработанную в задании 6.


B=45;
C=25;
D=05;
E=02.


Адрес    Коды      Мнемоника           Комментарий


0010       78            MOV A,B               команда пересылки
0011       81            ADD С                   А((А)+(Ri)
0012       67            MOV H,A              команда пересылки
0013       CD          CALL adr               вызов подпрограммы
безусловный
0014       00            -                              -
0015       19            -                              -
0016       7C           MOV A,H               команда пересылки
0017       91            SUB С                    A((A)-(Ri)
0018       76            HLT                        останов
0019       06            MVI B                     непосредственная
загрузка регистра
001A      00             -                                -
001B      0E            MVI C                      непосредственная
загрузка регистра
001C      00             -                                 -
001D      3E            MVI A                      непосредственная
загрузка регистра
001E      01              -                               -
001F      A7            АNA A                     A((A)((Ri)
0020      F5             PUSH  PSW             ввод (А) и  (F) в стек
0021      A3            ANA E                      A((A)((Ri)
0022      78             MOV A,B                 команда пересылки
0023      CA           JZ adr                        условный переход
0024      27             -                                  -
0025      00             -                                  -
0026      82            ADD D                      A((A)+(Ri)
0027      1F            RAR                          операция циклического
сдвига
0028      47            MOV B,A                 команда пересылки
0029      79            MOV A,C                 команда пересылки
002A     1F            RAR                         операция циклического
сдвига
002B     4F            MOV C,A                 команда пересылки
002C     F1            POP     PSW             выбор (А) и (F) из стека
002D     17            RAL                          операция циклического
сдвига
002E      С2           JNZ  adr                    условный переход
002F      17             -                                -
0030      00             -                                 -
0031      C9           RET                           возврат из
подпрограммы



ВСЕ ПРАВА ЗАЩИЩЕНЫ. НЕЛЕГАЛЬНОЕ КОПИРОВАНИЕ ПРЕСЛЕДУЕТСЯ ПО ЗАКОНУ.

-----------------------
[pic]




смотреть на рефераты похожие на "Лабораторная работа по дисциплине теория и проектирование ЭВМ"