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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? spiloop.asm

?? [合眾達(dá)代理]TI公司DSP常用例程源碼
?? ASM
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
;              received.  Because the SPIBUF register was not read after
;              the first interrupt, the second character should generate 
;              a receiver overrun interrupt.  This is checked in the low
;              priority ISR by reading the RECEIVER OVERRUN Flag Bit in
;              the SPI Status Register (SPISTS).  The word "BAD" will be 
;              in B2 at the end of the test is an error condition is
;              detected.
; Originator: J. Crankshaw
;
; Calling Convention: Assumes DP = 224 (7000h - 707fh)
;
;   Variables		on Entry		on Exit
; ----------------------------------------------------------------
; ----------------------------------------------------------------
; History: 
; Last Update:	10-18-96
;===========================================================================
SPILOOP:
* Initialize Auxilliary Registers
	LAR	AR2,#RX1_ERLOG
	LAR	AR3,#RX_char1
	LAR	AR4,#INT_FLAG
	LAR	AR5,#Ivr1
	MAR	*,AR2		; use AR2 as the next Aux register

* initialize SPI in master mode
	SPLK	#0087h,SPICCR	; Reset SPI by writing 1 to SWRST
	SPLK	#000Ch,SPICTL	; Disable ints & TALK, normal clock, master mode
	SPLK	#0000h,SPIPRI	; Set SPI interrupt to level 1 (high priority)
	SPLK	#0000h,SPIBRR	; Set baud rate to 'fastest'
	SPLK	#000Fh,SPICTL	; Enable TALK & RCV int, CLK ph 1, master mode
	SPLK	#0052h,SPIPC1	; STE pin drives 1, SPICLK to clock out
	SPLK	#0022h,SPIPC2	; Set SIMO & SOMI functions to serial I/O
	SPLK	#0007h,SPICCR	; Release SWRST, clock polarity 0, 8 bits

* Initialize DSP for interrupts
     LAR  AR6,#IMR       ; 
     LAR  AR7,#IFR       ;
     MAR  *,AR6
     LACL #011h          ;
	SACL *,AR7          ; Enable interrupts 1 & 5 only
	LACL	*    		; Clear IFR by reading and
	SACL	*,AR2		; writing contents back into itself

	CLRC	INTM           ; Enable DSP interrupts

**********************************************************
* Begin 1st Xmit (to SPI #1)                             *
**********************************************************
	LACC	#Char1		; ACC <= 1st byte to xmit
	SACL	SPIDAT		; Xmit 1st byte
	IDLE			     ; Wait for rcv interrupt, returns w/ ARP=AR2

**********************************************************
* Setup for transmit to SPI #2 with interrupt level 2	 *
**********************************************************
	SPLK	#0040h,SPIPRI	; Set SPI interrupt to level 2 (low priority)
	LAR	AR2,#RX2_ERLOG ; storage for 2nd RX error log
	LAR	AR3,#RX_char2  ; storage for 2nd char
	LAR	AR4,#OVER_RUN  ; storage for 2nd SPISTS
	LAR	AR5,#Ivr2	     ; Storage for level 2 IVR

* Read-modify-write sequence to enable Receiver OVERRUN interrupt
     LACL SPICTL         ; read:   ACC <= SPI control register
     OR   #010h          ; modify: set bit 4, Receiver OVERRUN interrupt enable bit
     SACL SPICTL         ; write:  SPICTL <= ACC

**********************************************************
* Begin 2nd Xmit (to SPI #2)                             *
**********************************************************
	LACC	#Char2		; ACC <= 2nd byte to xmit
	SACL	SPIDAT		; Xmit 2nd byte
	IDLE			     ; Wait for rcv interrupt, returns w/ ARP=AR2

     RET
*******************************************************************************
*                ISR's                                                        *
*******************************************************************************
;==============================================================================
; I S R  -  PHANTOM
;
; Description:	ISR used to trap spurious interrupts.
;              Reads System Interrupt Vector register to capture
;              vector of module that caused the interrupt.
;
; Modifies:	Changes DP and ACC.  Loads vector into 61h and BADh into 60h.
;
; Last Update:	10-17-96
;==============================================================================
PHANTOM 	
     LDP  #DP_PF1        ; go to peripheral file data page 1
	LACL	SYSIVR		; ACC <= [SYSIVR]           
     LDP  #0             ; go to first data page, with B2
	SACL	B2_SADDR+1	; 61h <= [SYSIVR]
	SPLK	#0deadh,B2_SADDR	; 60h <= "dead" value indicates error
	B	END		; Terminate gracefully

;==============================================================================
; I S R  -  INT1 interrupt service routine
;
; Description:	ISR for SPI Rx/Tx Interrupt.  Assumes no other sources are
;			enabled on INT1 besides the SPI.  No context save/restore
;			is performed since this is test code only.  No other modules
;			are running.
;
; Modifies:	ARP, ACC, assumes AR2-AR5 loaded in SPILOOP subroutine
;
; Last Update:	2 Feb 98
;==============================================================================
INT1_ISR  			; Interrupt 1 Interrupt Service Routine

	MAR	*,AR3          ; use RX_char1 for next indirect
     LACL SPIEMU         ; ACC <= SPI Emualtion Buffer Register (mirror of SPIBUF)
     SACL *,AR4          ; store value in B2 @ RX_char1
                         ; use INT_FLAG for next indirect
	LACL	SPISTS		; ACC <= SPI Status Register
     AND  #0C0h          ; clear all bits except SPI INT FLAG bit (SPISTS.6)
                         ; and RECEIVER OVERRUN bit (SPISTS.7)
     SACL *,AR2          ; store SPISTS value to INT_FLAG
                         ; use ERRLOG for next indirect
     AND  #040h          ; clear all bits except SPI INT FLAG bit (SPISTS.6)
     XOR  #040h          ; xor will clear bit 6 in ACC if SPISTS.6 was set
     BCND IVR,EQ         ; branch to next section if bit 6 was set
     SPLK #0BADh,*,AR5   ; Write "BAD" to ERRLOG 
                         ; use IVR1 for next indirect
IVR	MAR  *,AR5          ; use IVR1 for next indirect
     LACL	SYSIVR		; ACC <= interrupt vector
	SACL	*,0,AR2		; Ivr[i] <= interrupt vector
				     ; Use ERRLOG for next indirect
     XOR  #SPIvector     ; compare with expected value
     BCND RMW1,EQ        ; skip error writing if match
     SPLK #0BADh,*       ; write BAD to error log in B2

* Read-modify-write sequence to disable SPI interrupts
RMW1 LACL SPICTL         ; read:   ACC <= SPI control register
     AND  #0FEh          ; modify: clear bit 0, SPI interrupt enable bit
     SACL SPICTL         ; write:  SPICTL <= ACC

	CLRC	INTM		     ; Enable DSP interrupts
	RET			     ; Return from interrupt

;==============================================================================
; I S R  -  INT5 interrupt service routine
;
; Description:	ISR for SPI Rx/Tx Interrupt.  Assumes no other sources are
;			enabled on INT5 besides the SPI.  No context save/restore
;			is performed since this is test code only.  No other modules
;			are running.
;
; Modifies:	ARP, ACC, assumes AR2-AR5 loaded in SPILOOP subroutine
;
; Last Update:	2 Feb 98
;==============================================================================
INT5_ISR  			; Interrupt 5 Interrupt Service Routine

	MAR	*,AR3          ; use RX_char2 for next indirect
     LACL SPIBUF         ; ACC <= SPI Buffer Register
     SACL *,AR4          ; store value in B2 @ RX_char2
                         ; use OVER_RUN for next indirect
	LACL	SPISTS		; ACC <= SPI Status Register
     AND  #0C0h          ; clear all bits except SPI INT FLAG bit (SPISTS.6)
                         ; and RECEIVER OVERRUN bit (SPISTS.7)
     SACL *,AR2          ; store SPISTS value to OVER_RUN
                         ; use ERRLOG for next indirect
     AND  #080h          ; clear all bits except RECEIVER OVERRUN bit (SPISTS.7)
     XOR  #080h          ; xor will clear bit 7 in ACC if SPISTS.7 was set
     BCND IVR2,EQ        ; branch to next section if bit 7 was set
     SPLK #0BADh,*,AR5   ; Write "BAD" to ERRLOG 
                         ; use IVR1 for next indirect
IVR2	MAR  *,AR5
     LACL	SYSIVR		; ACC <= interrupt vector
	SACL	*,0,AR2		; Ivr[i] <= interrupt vector
				     ; Use ERRLOG for next indirect
     XOR  #SPIvector       ; compare with expected value
     BCND RMW2,EQ        ; skip error writing if match
     SPLK #0BADh,*       ; write BAD to error log in B2

* Read-modify-write sequence to disable SPI interrupts
RMW2 LACL SPICTL         ; read:   ACC <= SPI control register
     AND  #0EEh          ; modify: clear bits 0 & 4, SPI interrupt enable 
                         ;         and receiver overrun bits
     SACL SPICTL         ; write:  SPICTL <= ACC

	CLRC	INTM		     ; Enable DSP interrupts
	RET			     ; Return from interrupt

	.end

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩免费看网站| 久久婷婷国产综合精品青草| 久久se这里有精品| 国产精品毛片高清在线完整版 | 丝袜诱惑亚洲看片| 久久综合九色综合97婷婷| 色婷婷狠狠综合| 国产美女久久久久| 日韩电影网1区2区| 一级日本不卡的影视| 国产欧美精品一区二区色综合| 8v天堂国产在线一区二区| 91在线视频免费观看| 精品综合免费视频观看| 亚洲高清久久久| ㊣最新国产の精品bt伙计久久| 欧美sm美女调教| 欧美狂野另类xxxxoooo| 色婷婷av久久久久久久| 成人黄色电影在线 | 欧美中文字幕一区二区三区亚洲| 国产成人综合亚洲网站| 免费欧美高清视频| 午夜国产精品一区| 亚洲综合丁香婷婷六月香| 国产精品美女一区二区三区| 精品欧美一区二区在线观看| 3d动漫精品啪啪一区二区竹菊| 91久久精品网| 91黄色激情网站| 91看片淫黄大片一级在线观看| 国产精品18久久久久久vr| 久久成人久久爱| 久久国产精品色| 久久成人av少妇免费| 美女脱光内衣内裤视频久久网站| 亚洲h动漫在线| 亚洲v中文字幕| 三级一区在线视频先锋| 亚洲第一成年网| 五月天一区二区三区| 亚洲综合精品自拍| 亚洲高清免费视频| 日韩不卡手机在线v区| 日韩一区精品视频| 秋霞午夜av一区二区三区| 日韩国产在线一| 日韩精品欧美成人高清一区二区| 亚洲va国产天堂va久久en| 秋霞电影网一区二区| 日韩电影在线一区| 极品少妇xxxx精品少妇| 国产精品自在在线| 成人久久视频在线观看| 99免费精品视频| 欧美亚洲综合网| 欧美一区二区在线不卡| 日韩精品一区二区三区视频播放 | √…a在线天堂一区| 亚洲综合色区另类av| 日韩不卡免费视频| 精品一区二区三区香蕉蜜桃| 国产精品456| 在线观看亚洲成人| 日韩欧美在线综合网| 久久午夜国产精品| 亚洲丝袜精品丝袜在线| 亚洲国产日韩a在线播放性色| 日本伊人午夜精品| 国产精品亚洲第一| 色激情天天射综合网| 91精品国产综合久久精品图片| 精品美女一区二区| 国产精品国产三级国产aⅴ中文| 亚洲精品国产精华液| 欧美a级一区二区| 高清在线成人网| 欧美伊人久久久久久午夜久久久久| 555www色欧美视频| 亚洲国产成人午夜在线一区| 亚洲一区二区三区四区在线| 国内欧美视频一区二区| 色伊人久久综合中文字幕| 日韩一区二区不卡| 亚洲日本一区二区三区| 美女视频黄久久| 99久久99久久免费精品蜜臀| 在线不卡的av| 中文字幕一区av| 久久福利资源站| 在线观看成人小视频| 久久久蜜桃精品| 亚洲图片一区二区| 不卡一二三区首页| 日韩欧美一级片| 亚洲自拍偷拍欧美| 国产成人午夜精品5599| 91精品视频网| 一区二区三区中文免费| 国产乱码精品一品二品| 欧美精品久久久久久久多人混战 | 日本三级亚洲精品| 99re视频这里只有精品| 精品国产一区久久| 亚洲va欧美va天堂v国产综合| 成a人片国产精品| 久久久综合视频| 亚洲成人一二三| 99精品欧美一区| 国产亚洲欧美激情| 日产国产欧美视频一区精品| 一本到三区不卡视频| 中国色在线观看另类| 捆绑调教一区二区三区| 欧美性感一区二区三区| 亚洲三级小视频| 成人国产在线观看| 国产蜜臀97一区二区三区 | 国产大陆精品国产| 久久影音资源网| 久久超碰97中文字幕| 日韩一区二区三区四区五区六区| 亚洲影院久久精品| 色婷婷综合久久久久中文一区二区| 国产日韩三级在线| 国产精品1区2区| 国产日韩av一区| 国产一区二区导航在线播放| 日韩视频中午一区| 奇米综合一区二区三区精品视频| 欧美视频在线不卡| 香蕉加勒比综合久久| 欧美色视频在线观看| 亚洲一二三四区不卡| 在线亚洲+欧美+日本专区| 亚洲另类春色国产| 91极品视觉盛宴| 亚洲综合区在线| 欧美日韩国产小视频| 五月激情综合色| 欧美高清视频一二三区| 婷婷久久综合九色国产成人| 欧美妇女性影城| 欧美aaaaa成人免费观看视频| 91精品国产黑色紧身裤美女| 视频一区二区三区中文字幕| 日韩欧美在线一区二区三区| 天天综合天天综合色| 日韩欧美不卡一区| 韩国三级中文字幕hd久久精品| 精品国产凹凸成av人网站| 国产精品综合二区| 国产精品少妇自拍| 91浏览器入口在线观看| 午夜精品久久久久久久久久| 欧美一级欧美三级| 极品美女销魂一区二区三区免费 | 久久久久国产免费免费| 国产91精品欧美| 亚洲免费电影在线| 91麻豆精品国产| 国产麻豆成人传媒免费观看| 国产精品久久午夜| 在线免费观看日本一区| 免费美女久久99| 亚洲欧洲av在线| 欧美日韩国产色站一区二区三区| 蜜桃久久av一区| 中文字幕在线一区免费| 欧美三级一区二区| 国产乱一区二区| 亚洲女人小视频在线观看| 91精品国产欧美日韩| 粉嫩一区二区三区在线看 | 成人h动漫精品一区二| 一区二区三区欧美久久| 欧美一二三区在线| 成人av动漫网站| 日本欧美一区二区三区| 久久久久97国产精华液好用吗| 色系网站成人免费| 久久精品二区亚洲w码| 亚洲天堂a在线| 欧美大片在线观看| 91在线免费看| 极品少妇xxxx偷拍精品少妇| 亚洲精品一二三四区| 精品久久久久久久久久久久久久久 | 一区二区三区国产精华| 欧美成人猛片aaaaaaa| 91在线国产观看| 精品一区二区免费视频| 亚洲另类在线视频| 久久久欧美精品sm网站| 欧美日韩午夜在线视频| 不卡的av网站| 激情综合色播激情啊| 亚洲一区二区三区四区在线免费观看| 久久久久久麻豆| 91精品免费在线|