У вас вопросы?
У нас ответы:) SamZan.net

Завдання Відредагувати програму для МПсистеми вказану викладачем з використанням налагоджувачасимуля

Работа добавлена на сайт samzan.net: 2016-03-30

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 25.2.2025

Мета роботи: Дослідження структури, принципу дії однокристальних мікро-ЕОМ (ОМЕОМ) та виконання окремих  команд і  простих  програм  з  використанням різних методів адресації в програмах.

 

1.Завдання

Відредагувати програму для МП-системи, вказану викладачем, з використанням налагоджувача-симулятора однокристальної  мікро-ЕОМ (серії 1816),  для чого забезпечити:

  1.  Створення програмного файла на асемблері.

Для створення вихідного (початкового) файла з розширенням  *.asm  використовується редактор EDT.COM, в якому створюються та відлагоджуються робочі програми.

При роботі з редактором необхідно:

  •  ввести ім’я файла з розширенням  *.asm,
  •  натиснути будь-яку клавішу і починати набирати перший рядок програми (якщо мітка відсутня, то спочатку “пропуск”, далі  - операція, тоді “пропуск”, далі операнд (якщо їх два, то через кому, якщо константа, то з індексом h).

Наприклад, команда mov a,#06 записується:

[пропуск]mov[пропуск]a,#06h“Enter”,

  •  в загальному вигляді рядок програми записується як:

[мітка]:[пропуск]mov [пропуск]a,#06h[пропуск];[коментар]”Enter”,

  •  в кінці програми – директива (псевдокоманда) end (без пропуску), яка свідчить про закінчення роботи транслятора (директиви асемблера – додаткові команди управління асемблером, які використовуються для трансляції вихідної програми в об’єктну, але самі не транслюються в машинні коди).

Призначення клавіш в редакторі описані в меню, що викликається клавішею “F1” (наприклад, для завершення редагування та запису –“F3”+”E”, для виходу з редактора без запису –“F3”+”Q”+”Y” і т.д.).

  1.  Створення об’єктного файла.

Компілятор x8748.EXE служить для створення із вже створеного асемблерного файла (*.asm) файлів з розширеннями  *.obj (об’єктного, записаного на машинній мові - в двійкових кодах) та  *.lst.,  (друкованої копії, що містить одночасно вихідну та об’єктну програми).

При цьому в діалоговому режимі  необхідно виконати такі кроки:

  1.  <Listing Destination (W,T,D,E,L,P<CP>=N)>  :D
  2.  <Generate Cross Reference?(Y/N) <CR>+=N0)> : “ENTER”
  3.  <Input file name> : ім’я файла (без розширення)
  4.  <Output filename> :  ім’я файла (без розширення).

3. Запустити програму Link.exe (створення файлів в форматі  *.hex) - лынкер (LINK), що дозволяє включати в програму модулі, які розроблені незалежно один від одного, і програму, яка забезпечує налагодження переміщуваних програмних модулів на абсолютні адреси.

    При цьому в діалоговому режимі  необхідно виконати такі кроки:

  1.   <Input filename>: ім’я файла (без розширення).

  2.   <Enter offset fore “CODE”> : 0

  3.   <Input filename> : “ENTER”

  4.   <Output filename> ім’я файла (без розширення)

  5. <Library filaname> : якщо файл знаходиться в директорії, де розміщений редактор, то «ENTER»

  6.   <Options (…………………….)> : “ENTER

4. Далі запустити редактор “FD48.EXE”:

  •  завантажити робочий файл з розширенням  *.hex, (в командому рядку набрати L [пропуск]<ім’я файла>hex).

2. Виконання роботи.

Вміст файлу LAB5.ASM

code section

.ORG 0

    JMP INIT

.org 3

    JMP INT

.org 07h

    JMP Timer

INT:

 RETR

Timer:

 RETR

INIT:

    ORL P2,01

    ORL P1,0ffH

    SEL RB0

MAIN:

    IN A, P1     ;Зчитування стана Р1  (Y)

    MOV R2,A     ;R2 = y

    MOV R0,#40   ;

    MOV A, @R0   ;Зчитування Х з комiрки 40

    ADD A, R2    ;A = X +  Y

    ADD A, R2    ;A = X + 2Y

    ADD A, #246  ;A = A+246 = A - 10

    CALL OUT

    JMP MAIN

OUT:  

; Пiдпрограма передавання бiтiв через лiнiю Р2.0

; A - байт дял передачi

       MOV  R1,#8               ; Лiчильник бiтiв

       ANL   P2,#0FEh           ; Cтартовий бiт

       CALL  DELAY               ; Очикування

LOOP:   JB0   ONE               ; Перехiд, якщо бiт А.0 дорiвнює 1

       ANL   P2,#0FEh           ; Скидання Р1.0

       JMP   NEXT

ONE:    ORL   P2,#1              ; Встановлення Р1.0

       JMP   NEXT               ; Надлишкова команда для

                                ; вирiвнювання часу передачi 0 ? 1

NEXT:   RR      A                ; Зсув акумулятора вправо (пiдготовка

       CALL  DELAY              ; Очикування до початку передавання нового быта

       DJNZ  R1,LOOP            ; до передачi чергового бiта)

       ORL   P2,#1              ; Встановлення Р1.0

       CALL DELAY               ; Очикування     

       RET

DELAY:                           ; Просто 10 холостих команд  

       NOP

       NOP

       NOP

       NOP

       NOP

       NOP

       NOP

       NOP

       NOP

       NOP

       RET

ends

Вміст файлу LAB5.HEX

:02000000040BEF

:020003000409EE

:10000700040A93938A0189FFC509AAB828F06A6A86

:1000170003F6141D0410B9089AFE143712299AFE24

:10002700042D8A01042D771437E9238A01143783B5

:0B00370000000000000000000000833B

:00000001FF

Вміст файлу LAB5.LST

   1   0000                    code section

   2   0000                    .ORG 0

   3   0000   04 0B                 JMP INIT

   4   0003                    .org 3

   5   0003   04 09                 JMP INT

   6   0007                    .org 07h

   7   0007   04 0A                 JMP Timer

   8   0009                    INT:

   9   0009   93                 RETR

  10   000A                    Timer:

  11   000A   93                 RETR

  12   000B                    INIT:

  13   000B   8A 01                 ORL P2,01

  14   000D   89 FF                 ORL P1,0ffH

  15   000F   C5                    SEL RB0

  16   0010                    MAIN:

  17   0010   09                    IN A, P1     ;Зчитування стана Р1  (Y)

  18   0011   AA                    MOV R2,A     ;R2 = y

  19   0012   B8 28                 MOV R0,#40   ;

  20   0014   F0                    MOV A, @R0   ;Зчитування Х з комiрки 40

  21   0015   6A                    ADD A, R2    ;A = X +  Y

  22   0016   6A                    ADD A, R2    ;A = X + 2Y

  23   0017   03 F6                 ADD A, #246  ;A = A+246 = A - 10

  24   0019   14 1D                 CALL OUT

  25   001B   04 10                 JMP MAIN

  26   001D                    OUT:  

  27                            ; Пiдпрограма передавання бiтiв через лiнiю Р2.0

  28                            ; A - байт дял передачi

  29   001D   B9 08                    MOV  R1,#8               ; Лiчильник бiтiв

  30   001F   9A FE                    ANL   P2,#0FEh           ; Cтартовий бiт

  31   0021   14 37                    CALL  DELAY               ; Очикування

  32   0023   12 29            LOOP:   JB0   ONE               

  33   0025   9A FE                    ANL   P2,#0FEh           ; Скидання Р1.0

  34   0027   04 2D                    JMP   NEXT

  35   0029   8A 01            ONE:    ORL   P2,#1              ; Встановлення Р1.0

  36   002B   04 2D                    JMP   NEXT                

  37                                                           ; вирiвнювання часу передачi 0 ? 1

  38   002D   77               NEXT:   RR      A       ;

  39   002E   14 37                    CALL  DELAY              

  40   0030   E9 23                    DJNZ  R1,LOOP            

  41   0032   8A 01                    ORL   P2,#1              ; Встановлення Р1.0

  42   0034   14 37                    CALL DELAY               ; Очикування     

  43   0036   83                       RET

  44                           

  45                           DELAY:                           ; Просто 10 холостих команд  

  46   0037   00                       NOP

  47   0038   00                       NOP

  48   0039   00                       NOP

  49   003A   00                       NOP

  50   003B   00                       NOP

  51   003C   00                       NOP

  52   003D   00                       NOP

  53   003E   00                       NOP

  54   003F   00                       NOP

  55   0040   00                       NOP

  56   0041   83                       RET

  57   0042                    ends

 

Рис. 1- Виконання програми




1. Вступление ~ Rude wkening ~ Нелестное Откровение Начиная просматривать личные письма Шрилы Прабхупады здесь и да
2. ВАТИКАН'БАРИ НЕАПОЛЬ БУДВА ОТДЫХ НА АДРИАТИЧЕСКОМ МОРЕ ' БУДАПЕШТ ' КРАКОВ 18 дней- 10 дней от
3. Н Толстой Закон насилия и закон любви Вследствие извращения христианства жизнь христианских на
4. реферат дисертації на здобуття наукового ступеня кандидата педагогічних наук Здобувач
5. Биотические и абиотические факторы [2] 16
6. Роль Сталина в Великой Отечественной Войне
7. Дракула с иллюстрациями Брэм Стокер Дракула с иллюстрациями Дракула- Азбука; 2004
8. Тема- Движения. 4 урок.html
9. Политическая и государственная власт
10. УТВЕРЖДАЮ Начальник Управления Алтайского края по физической культуре и спорту УТ