亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? btc_asmdemo.asm

?? ADI 公司的DSP ADSP21369 EZ-KIT LITE開發板的全部源代碼
?? ASM
字號:
/////////////////////////////////////////////////////////////////////////////
//
// Example assembly program using Background Telemetry Channel (BTC)
// Analog Devices 2004
//
// This program defines several BTCs to allow transfer of data over the BTC
// interface while the DSP is running.  Use the BTC Memory window in the
// debugger to view each channels data.  The defined channels are described
// below:
// 
// Timer Interrupt Counter:  This channel is defined to be 1-word (4-bytes)
//		   				     in length and simply counts the number of timer
//							 interrupts that have occured.
//
// Constant Data Value: This channel is defined to be 1-word (4-bytes) in length and
//			            simply displays a constant value that is not changed by the
//                      the running program.
//
// Constant Data Buffer: This channel is defined to be 8-words (32-bytes) in length and
//			            simply displays an array of constant values that are not changed by the
//                      the running program.
//
// Data Array (8kw):  This channel is defined to be 8-kwords in length.  The first word of the
//					  channel is used to count the number of timer interrupts that have occured.
//
/////////////////////////////////////////////////////////////////////////////

#include "btc.h"

#ifdef __ADSP21375__
	#include "def21375.h"
#elif __ADSP21369__
	#include "def21369.h"
#endif


#include <SRU.h>

#define DATA_BUF_SIZE  		8

#ifdef __ADSP21375__
	#define ARRAY_SIZE			0x0AAA
	#define DATA_ARRAY_STRING	'Data Array (2kw)'
#elif __ADSP21369__
	#define ARRAY_SIZE			0x2000
	#define DATA_ARRAY_STRING	'Data Array (8kw)'
#endif




////////////////////////////
// Variable Definitions
////////////////////////////
.section/DM seg_dmda;

.var timerCounter;
.var dataVal = 0x11223344;
.var dataBuf[DATA_BUF_SIZE] = {0x11223344,0x55667788,0x99aabbcc,0xddeeff00,
                               0x55555555,0x66666666,0x77777777,0x88888888};
.var array1[ARRAY_SIZE];


//////////////////////////
// BTC Definitions
//////////////////////////
BTC_MAP_BEGIN
//             Channel Name,               Starting Address, Length
BTC_MAP_ENTRY('Timer Interrupt Counter',   timerCounter,     0x0001)
BTC_MAP_ENTRY('Constant Data Value',       dataVal,          0x0001)
BTC_MAP_ENTRY('Constant Data Buffer',      dataBuf,          DATA_BUF_SIZE)
BTC_MAP_ENTRY(DATA_ARRAY_STRING,          array1,           ARRAY_SIZE)
BTC_MAP_END


///////////////////////////
// Main program
///////////////////////////
.section/PM seg_pmco;

.extern ldf_stack_space;
.extern ldf_stack_length;

.global _main;
_main:

	// init the stack
	b7 = ldf_stack_space;
	i7 = ldf_stack_space + ldf_stack_length - 2;
	m7 = -1;
	l7 = ldf_stack_length - 1;
	
	// initialize array1 with incrementing values
	i0 = array1;
	m0 = 1;
	l0 = 0;
	r0 = 0;
	
	lcntr = ARRAY_SIZE, do INIT_ARRAY until lce;
			dm(i0, m0) = r0;
INIT_ARRAY: r0 = r0 + 1;

	// initialize the different components of the program
	call _btc_init;
			
	call initLEDs;
	call initInterrupts;
	call initTimer;
		
loop1:	
	nop;
	nop;
	jump loop1;
_main.end:
	

//////////////////
//  GPTimer0 ISR
//////////////////
tmr0_isr:
	push sts;				// push status
	dm(i7,m7) = r0;			// push r0
	dm(i7,m7) = ustat1;		// push ustat1

	r0 = dm(timerCounter);
	r0 = r0 + 1;			// increment the timerCounter
	dm(timerCounter) = r0;
	
	dm(array1) = r0;		// write the timerCounter to first location of array1 also
	
	ustat1 = TIM0IRQ;		// clear the timer interrupt status
	dm(TMSTAT) = ustat1;
	
	ustat1 = dm(1,i7);		// pop ustat1
	r0 = dm(2,i7);			// pop r0
	modify(i7,2);			// fix stack ptr
	pop sts;				// pop status

    nop;
    bit tgl flags FLG4; //light LED 1,2,3,4,5, & 8.


	rti;

			
/////////////////////////////////////////////
//  used to catch any unexpected interrupts
/////////////////////////////////////////////
bad_isr:
	nop;
	nop;
	nop;
	nop;
	rti;	
	
//////////////
//  initLEDs
//////////////
initLEDs:

	SRU(FLAG6_O,DPI_PB08_I);	// Connect Flag6 output to DPI_PB08 input (LED3)
	SRU(FLAG7_O,DPI_PB13_I);	// Connect Flag7 output to DPI_PB13 input (LED4)
	SRU(FLAG4_O,DPI_PB06_I);	// Connect Flag4 output to DPI_PB06 input (LED1)
	SRU(FLAG5_O,DPI_PB07_I);	// Connect Flag5 output to DPI_PB07 input (LED2)
	SRU(FLAG8_O,DPI_PB14_I);	// Connect Flag8 output to DPI_PB14 input (LED5)
	
	SRU(LOW,DAI_PB15_I);		// Connect Input LOW to LED6
	SRU(LOW,DAI_PB16_I);		// Connect Input LOW to LED7

//Enabling the Buffer using the following sequence: High -> Output, Low -> Input

	SRU(HIGH,DPI_PBEN08_I); 
	SRU(HIGH,DPI_PBEN13_I); 
	SRU(HIGH,DPI_PBEN06_I);
	SRU(HIGH,DPI_PBEN07_I);
	SRU(HIGH,DPI_PBEN14_I);
	SRU(HIGH,DPI_PBEN01_I);
	SRU(HIGH,PBEN15_I);
	SRU(HIGH,PBEN16_I);

//Setting flag pins
	bit set flags FLG3O|FLG4O|FLG5O|FLG6O|FLG7O|FLG8O;

//Clearing flag pins
	bit clr flags FLG3|FLG4|FLG5|FLG6|FLG7|FLG8;

	rts;
	
////////////////////
//  initInterrupts
////////////////////
initInterrupts:
	// setup imask, enable gptimer0 and low-priority emulator interrupt
	ustat1 = imask;
	bit set ustat1 GPTMR0I | EMULI;
	imask = ustat1;
	
	// enable interrupts
	ustat1 =  mode1;
	bit set ustat1 IRPTEN;
	mode1 = ustat1;	
	
	rts;
	
///////////////
//  initTimer
///////////////
initTimer:
	// configure timer 0
	r0 = TIMODEPWM | PRDCNT | IRQEN;
	dm(TM0CTL) = r0;
	
	// timer period
	r0 = 0x00800000;
	dm(TM0PRD) = r0;
	
	// timer width
	r0 = 1;
	dm(TM0W) = r0;
	
	// enable timer 0
	r0 = BIT_8;
	dm(TMSTAT) = r0;
	
	rts;




//////////////////////////////
//  Interrupt Vector Table
//////////////////////////////
.section/PM seg_rth;

emui:
	nop;nop;nop;nop;
rsti:
	nop;nop;nop;jump _main;
iicdi:
	nop;nop;nop;jump bad_isr;
sovfi:
	nop;nop;nop;jump bad_isr;
tmzhi:
	nop;nop;nop;jump bad_isr;
//rsvd
	nop;nop;nop;nop;
bkpi:
	nop;nop;nop;jump bad_isr;
//rsvd
	nop;nop;nop;nop;
irq2i:
	nop;nop;nop;jump bad_isr;
irq1i:
	nop;nop;nop;jump bad_isr;
irq0i:
	nop;nop;nop;jump bad_isr;
daihi:
	nop;nop;nop;jump bad_isr;
spihi:
	nop;nop;nop;jump bad_isr;
gptmr0i:
	nop;nop;nop;jump tmr0_isr;
sp1i:
	nop;nop;nop;jump bad_isr;
sp3i:
	nop;nop;nop;jump bad_isr;
sp5i:
	nop;nop;nop;jump bad_isr;
sp0i:
	nop;nop;nop;jump bad_isr;
sp2i:
	nop;nop;nop;jump bad_isr;
sp4i:
	nop;nop;nop;jump bad_isr;
ppi:
	nop;nop;nop;jump bad_isr;
gptmr1i:
	nop;nop;nop;jump bad_isr;
//rsvd
	nop;nop;nop;nop;
daili:
	nop;nop;nop;jump bad_isr;
//rsvd
	nop;nop;nop;nop;
//rsvd	
	nop;nop;nop;nop;
//rsvd
	nop;nop;nop;nop;
//rsvd
	nop;nop;nop;nop;
gptmr2i:
	nop;nop;nop;jump bad_isr;
spili:
	nop;nop;nop;jump bad_isr;
cb7i:
	nop;nop;nop;jump bad_isr;
cb15i:
	nop;nop;nop;jump bad_isr;
tmzli:
	nop;nop;nop;jump bad_isr;
fixi:
	nop;nop;nop;jump bad_isr;
fltoi:
	nop;nop;nop;jump bad_isr;
fltui:
	nop;nop;nop;jump bad_isr;
fltii:
	nop;nop;nop;jump bad_isr;
emuli:
	nop;nop;nop;jump _btc_isr;
sft0i:
	nop;nop;nop;jump bad_isr;
sft1i:
	nop;nop;nop;jump bad_isr;
sft2i:
	nop;nop;nop;jump bad_isr;
sft3i:
	nop;nop;nop;jump bad_isr;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品第一页第二页第三页| 久久黄色级2电影| 亚洲图片有声小说| 精品一区二区成人精品| 色综合久久88色综合天天6| 欧美精品日日鲁夜夜添| 中文一区二区在线观看| 青青草伊人久久| 一本色道综合亚洲| 国产欧美日韩不卡| 麻豆一区二区在线| 91国偷自产一区二区使用方法| 久久亚洲综合色| 婷婷夜色潮精品综合在线| 不卡欧美aaaaa| 精品嫩草影院久久| 日韩福利电影在线观看| 日本二三区不卡| 国产精品午夜久久| 国产乱一区二区| 91精品国产手机| 午夜激情一区二区| 欧美在线视频不卡| 亚洲美腿欧美偷拍| 成人免费观看男女羞羞视频| 欧美成人综合网站| 免费xxxx性欧美18vr| 欧美熟乱第一页| 亚洲少妇30p| 91免费国产在线| 一区视频在线播放| 成人美女视频在线观看| 国产视频一区二区在线| 国产一区二区三区免费看| 欧美一级精品在线| 青青草国产精品97视觉盛宴| 欧美精品久久天天躁| 亚洲bdsm女犯bdsm网站| 欧美日韩久久不卡| 午夜精品久久久久久久蜜桃app| 色激情天天射综合网| 亚洲人成在线播放网站岛国| 99精品在线观看视频| 中文字幕日本不卡| 色综合色狠狠综合色| 一区二区三区日韩欧美精品| 欧美亚洲动漫制服丝袜| 亚洲成人在线网站| 91精品国产高清一区二区三区 | 亚洲特级片在线| 91一区二区在线观看| 一区二区三区在线观看网站| 欧美视频一区在线观看| 亚洲成人av一区二区| 538在线一区二区精品国产| 麻豆精品国产91久久久久久| 久久丝袜美腿综合| 成人黄页在线观看| 亚洲精品老司机| 欧美日韩高清不卡| 精品一区二区精品| 国产精品狼人久久影院观看方式| 色系网站成人免费| 无码av免费一区二区三区试看 | 日韩欧美激情一区| 国产成人午夜99999| 亚洲欧美一区二区在线观看| 欧美中文字幕亚洲一区二区va在线 | 国产精品色呦呦| 色视频一区二区| 蜜桃av噜噜一区| 中文字幕中文字幕中文字幕亚洲无线 | 欧美三级日韩在线| 黄色成人免费在线| 国产精品的网站| 日韩一区二区免费在线电影| 成人自拍视频在线| 婷婷一区二区三区| 中文字幕不卡在线观看| 欧美日韩性生活| 成人一道本在线| 日韩精品乱码免费| **欧美大码日韩| 日韩欧美www| 欧美视频一区二区三区在线观看| 国产乱码字幕精品高清av | 精品人伦一区二区色婷婷| 99久久99久久精品免费看蜜桃| 午夜视频在线观看一区二区| 日本一区二区三级电影在线观看| 欧美视频一区二区三区| 成人午夜碰碰视频| 奇米色一区二区| 亚洲乱码中文字幕综合| 久久先锋资源网| 欧美丰满少妇xxxxx高潮对白| 成人网页在线观看| 蜜臀av在线播放一区二区三区| 亚洲精品欧美激情| 亚洲欧美自拍偷拍色图| 国产蜜臀97一区二区三区| 精品欧美一区二区久久| 欧洲人成人精品| 成人激情黄色小说| 免费视频最近日韩| 亚洲午夜久久久久久久久电影院| 中文字幕亚洲在| 国产精品系列在线| 中文字幕不卡三区| 国产清纯在线一区二区www| 欧美一卡二卡在线观看| 欧美无砖砖区免费| 91麻豆国产在线观看| 成人v精品蜜桃久久一区| 国产精品一区在线观看你懂的| 极品少妇一区二区三区精品视频| 日韩专区中文字幕一区二区| 亚洲123区在线观看| 亚洲午夜免费视频| 五月天丁香久久| 奇米精品一区二区三区在线观看一| 图片区小说区国产精品视频| 亚洲电影在线免费观看| 夜夜嗨av一区二区三区网页| 亚洲精品高清在线| 一区二区三区蜜桃| 五月婷婷久久综合| 毛片av一区二区| 国产精品资源在线| 成人伦理片在线| 91美女在线视频| 欧美女孩性生活视频| 在线播放日韩导航| 欧美成人精品1314www| 欧美v日韩v国产v| 欧美激情一二三区| 亚洲视频一区在线| 亚洲图片欧美综合| 麻豆成人av在线| 国产成人精品免费视频网站| 色88888久久久久久影院按摩| 在线亚洲人成电影网站色www| 欧美三区在线观看| 精品理论电影在线观看| 欧美激情中文字幕一区二区| 亚洲人快播电影网| 日韩和欧美一区二区| 国产一区二区美女诱惑| 成人美女在线观看| 欧洲精品一区二区| 精品国免费一区二区三区| 欧美激情在线看| 丝袜亚洲另类丝袜在线| 国产精品一区二区果冻传媒| 色婷婷综合五月| 日韩欧美中文字幕精品| 18欧美亚洲精品| 免费高清不卡av| 色综合久久久久久久久久久| 日韩欧美亚洲一区二区| 综合久久综合久久| 麻豆国产精品777777在线| 成人动漫在线一区| 欧美一区二区三区系列电影| 国产精品护士白丝一区av| 青青草国产精品亚洲专区无| www.色精品| 久久嫩草精品久久久精品一| 亚洲一区自拍偷拍| 国内欧美视频一区二区| 欧美色爱综合网| 看电影不卡的网站| 国内精品视频666| 欧美三级电影在线观看| 国产日韩欧美电影| 日韩av一区二区在线影视| 91浏览器入口在线观看| 精品国产3级a| 日韩一区欧美二区| 色吧成人激情小说| 久久精品一区二区三区不卡牛牛| 午夜视频久久久久久| 成人久久18免费网站麻豆| 日韩欧美久久久| 天堂av在线一区| 日本高清成人免费播放| 国产精品网曝门| 国产成人综合精品三级| 日韩欧美国产一区在线观看| 亚洲成人在线观看视频| 色综合久久综合| 亚洲欧洲美洲综合色网| 高清日韩电视剧大全免费| 26uuu色噜噜精品一区二区| 日韩精品电影在线| 欧美男同性恋视频网站| 亚洲福利一区二区三区| 欧美影片第一页| 一区二区久久久久久| 欧美亚洲综合在线|