[an error occurred while processing this directive]
Ё моё. Лабуда:
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено sdy 18 января 2003 г. 16:40


//******************************************************************************
//*
//* File Name
//* labuda_with_ci.asm
//*
//* Version
//* January 18, 2003.
//*
//* Purpose
//* Simply labuda.
//*
//* Author
//* SDY
//*
//* Calling parameters
//*
//* Return values
//* r1 - Number of latches IRQ2.
//*
//* Registers affected
//* r0, r1
//*
//* Registers used
//* r0, r1
//*
//******************************************************************************
#include "def21061.h"

//******************************************************************************
//*
//*
//*
//******************************************************************************
.section/pm sec_rth;
// Reserved interrupt, IRPTL bit 0, Vector 0x00
___lib_RSRV0:
NOP; NOP; NOP; NOP;

// Reset vector (read-only, non-maskable):
___lib_RSTI:
IDLE;
jump main(db);
nop;
nop;

// Reserved interrupt, IRPTL bit 2, Vector 0x08
___lib_RSRV1:
NOP; NOP; NOP; NOP;

// Vector for status stack/loop stack overflow or PC stack full:
// Stack overflow, IRPTL bit 3, Vector 0x0c
___lib_SOVFI:
RTI; RTI; RTI; RTI;

// High priority timer interrupt, IRPTL bit 4, Vector 0x10
___lib_TMZHI:
RTI; RTI; RTI; RTI;

// Vector Interrupt, IRPTL bit 5, Vector 0x14
___lib_VIRPTI:
RTI; RTI; RTI; RTI;

// IRQ2, IRPTL bit 6, Vector 0x18
___lib_IRQ2I:
jump irq2_occured;
RTI; RTI; RTI;

//******************************************************************************
//*
//* Џ® Ё¤ҐҐ (  Ё­ зҐ § зҐ¬ нв®в аҐо§ ­г¦Ґ­) ¤®«¦­® Ўлвм в Є:
//* ў ॣЁбвॠr1 еа ­Ёвбп зЁб«® ЇаҐалў ­Ё© irq2.
//* Ђ ў®в Ё ­Ґв, Ґб«Ё ў бва®ЄҐ irq2_maybe_latches_in_that_string
//* Їа®Ёб室Ёв § йс«ЄЁў ­ЁҐ ЇаҐалў ­Ёп irq2, в® Vsakaya labuda ЁбЇ®«­пвмбп
//* ­Ґ Ўг¤Ґв. Ќг Ё б®бв®п­ЁҐ r1 ­Ґ Ё§¬Ґ­Ёвбп ЇаЁ ®Ўа Ў®вЄҐ в®«мЄ® зв® ў®§­ЁЄиҐЈ®
//* ЇаҐалў ­Ёп.
//*
//******************************************************************************
.section/pm sec_pmco;
main:
r0 = 1;
r1 = 0;
bit set imask IRQ2I;
bit set mode1 IRPTEN;

idle;
jump (pc,-1);

irq2_occured:
jump (pc,1) (ci);
r0 = pass r0;
if eq rts;

irq2_maybe_latches_in_that_string:
r0 = 0; // Clr flg.

rts(db), r1 = r1+1; // Number of interrupt.
nop; // Vsakaya labuda.
r0 = 1; // Set flg.



Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru