Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЭВМ и системы / MP51 / Method / трафареты

.doc
Скачиваний:
10
Добавлен:
01.05.2014
Размер:
58.37 Кб
Скачать

Общие рекомендации по пользования трафаретом:

  1. В местах, помеченных угловыми скобками следует размещать фрагменты программы в соответствии с индивидуальным заданием

  2. комментарии на кириллице рекомендуется исключать

  3. Значки nn, rr, xx, pp и подобные заменяются именами регистров или числами в соответствии с индивидуальными заданиями

  4. Результат коррекции сохранять в текстовом формате с расширением .asm

Трафарет для лабораторной работе №1

Jmp start ;переход на начало программы , это необходима

; Для «освобождения нижней памяти для обработчиков прерываний

; и потребуется в будущих работах

ORG 100H ; директива выделения памяти программ; место расположения

:рабочей программы

MOV rr,#nn ; rr - имя регистра ( любого по выбору студента)

;nn - число повторений теста ( любое число по выбору

; студента)

Repeate: ; метка возврата

MOV a, pp ; чтение данных из порта в аккумулятор

; pp – имя порта по выбору студента

: MOV rr1,a : сохранение считанного значения в любом регистре –

; нужно если проверка требует операций над исходным

; значением

<< команды вычисления условия выполнения заданного действия>>

JZ www ; команда проверки заданного условия

; могут потребоваться другие команды проверки (JNZ,JC и т.п)

: << преобразование принятых с порта данных>>

www: MOV pp1,a ; выдача результата на порт вывода

DJNZ rr,repeate ; повторить для новых данных если они не исчерпаны

JMP $ ; блокировка продолжения после исчерпания теста

Трафарет для лабораторной работе №2 (вариант А)

Jmp start ;переход на начало головной программы,

ORG 03H ;обработчик внешних прерываний

PUSH psw ; защита основных регистров

PUSH acc

MOV psw,# 08h ;Изменение банка регистров

<<выполнение действий, вызываемых при прерывании>>

<< в соответствии с индивидуальным заданием>>

POP acc

POP psw ; восстановление регистров

RETI ; выход из обработчика

ORG 100H ; директива выделения памяти программ; место расположения

:рабочей программы

MOV rr,#nn ; rr - имя регистра ( любого по выбору студента)

;nn - число повторений теста ( любое число по выбору

; студента)

MOV ie,# xx ; разрешить прерывания

Repeate: ; метка возврата

NOP ; 3 команды имитируют фоновую задачу

NOP

NOP

MOV a, pp ; чтение данных из порта в аккумулятор

; pp – имя порта по выбору студента

: MOV rr1,a : сохранение считанного значения в любом регистре –

; нужно если проверка требует операций над исходным

; значением

<< команды вычисления условия выполнения заданного действия>>

JZ repeate ; команда проверки заданного условия

; могут потребоваться другие команды проверки (JNZ,JC и т.п)

<< преобразование принятых с порта данных>>

MOV pp1,a ; выдача результата на порт вывода

DJNZ rr,repeate ; повторить для новых данных если они не исчерпаны

JMP $ ; блокировка продолжения после исчерпания теста

Трафарет для лабораторной работе №2 (вариант б)

Jmp start ;переход на начало головной программы,

ORG 03H ;обработчик внешних прерываний

PUSH psw ; защита основных регистров

PUSH acc

MOV psw,# 08h ;Изменение банка регистров

<<выполнение действий, вызываемых при прерывании>>

<< в соответствии с индивидуальным заданием>>

POP acc

POP psw ; восстановление регистров

RETI ; выход из обработчика

ORG 100H ; директива выделения памяти программ; место расположения

:рабочей программы

MOV rr,#nn ; rr - имя регистра ( любого по выбору студента)

;nn - число повторений теста ( 5-10 по выбору

; студента)

MOV ie,# xx ; разрешить прерывания

Repeate: ; метка возврата

NOP ; 3 команды имитируют выполнение действий

NOP ; предшествующих операции ввода

NOP

Test: MOV a, pp ; чтение данных из порта в аккумулятор

; pp – имя порта по выбору студента

: MOV rr1,a : сохранение считанного значения в любом регистре –

; нужно если проверка требует операций над исходным

; значением

<< команды вычисления условия выполнения заданного действия>>

JZ test ; команда проверки заданного условия т.е.

; программная петля ожидания

; могут потребоваться другие команды проверки (JNZ,JC и т.п)

: CALL subr ; вызов программы по принципу программного опроcа ;готовности

MOV pp1,a ; выдача результата на порт вывода

DJNZ rr,repeate ; повторить для новых данных если они не исчерпаны

JMP $ ; блокировка продолжения после исчерпания теста

Subr: << преобразование принятых с порта данных>>

Ret ; возврат в основную программу

Трафарет для лабораторной работе №3

Jmp start ;переход на начало головной программы,

;----------------------------------;обработчик прерываний от таймера

; ( если третуется индивидуальным заданием)

ORG 0bH

JMP 50h

Org 50h

PUSH psw ; защита основных регистров

PUSH acc

MOV psw,# 08h ;Изменение банка регистров

<<выполнение действий, вызываемых при прерывании>>

<< в соответствии с индивидуальным заданием>>

POP acc

POP psw ; восстановление регистров

RETI ; выход из обработчика

; ------------------------------- конец обработчика прерываний от таймера

;-------------------обработчик прерываний от последовательного порта

; ( если требуется индивидуальным заданием)

ORG 23H

PUSH psw ; защита основных регистров

PUSH acc

MOV psw,# 10h ;Изменение банка регистров

<<выполнение действий, вызываемых при прерывании>>

<< в соответствии с индивидуальным заданием>>

POP acc

POP psw ; восстановление регистров

RETI ; выход из обработчика

; -------------- конец обработчика прерываний от порта

ORG 100H ; директива выделения памяти программ; место расположения

:рабочей программы

mov sp,#50h ; установка вершины стека

MOV PSW,#00

MOV rr,#nn ; rr - имя регистра ( любого по выбору студента)

;nn - число повторений теста ( любое число по выбору

; студента)

<< настройка режима последовательного порта ( загрузка регистрa SCON)>>

<< настройка таймера ( загрузка регистров TMOD,TLx,THx)>>

MOV ie,# xx ; разрешить прерывания в соответствии с инд. заданием

Repeate: ; метка возврата

NOP ; 3 команды имитируют фоновую задачу

NOP ;

NOP

; jmp repeate ; раскомментировать при задании ПГ=1

; Jnb SCONx,repeate ; раскомментировать при задании ПГ=3 *

; Jnb SCONx, $ ; раскомментировать при задании ПГ=2 *

: * - ожидание завершения обмена ; x= 0 или 1 в зависимости от ;индивидуального задания

<< преобразование принятых с порта данных>>

MOV pp,a ; выдача результата на порт вывода

DJNZ rr,repeate ; повторить для новых данных если они не исчерпаны

JMP $ ; блокировка продолжения после исчерпания теста

Соседние файлы в папке Method