⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vectors08.s

📁 摩托罗拉单片机的串行通信中断方式的原代码
💻 S
字号:
	.module vectors08.c
	.area text
;     SerialBuff -> 0,X
;              i -> 1,X
_isrRe::
	pshh
	lda *__r0
	psha
	lda *__r1
	psha
	lda *__r2
	psha
	lda *__r3
	psha
	lda *__r4
	psha
	lda *__r5
	psha
	lda *__r6
	psha
	lda *__r7
	psha
	lda *__r8
	psha
	lda *__r9
	psha
	lda *__r10
	psha
	lda *__r11
	psha
	lda *__rhi
	psha
	lda *__rlo
	psha
	ais #-2
	tsx
; /*-----------------------------------------------------*
; *文件名:vectors08.c                                    *
; *功  能:用于定义中断矢量表                             *
; *-----------------------------------------------------*/
; //[头文件]
; #include "GP32C.H"          //包含头文件
; #include "SCI.h"            //串行通信子程序头文件
; /*isrRe:接收中断处理函数-------------------------------*
; *功  能:接收1个数据, 发送接到的数据                    *
; *-----------------------------------------------------*/
; //#pragma interrupt_handler是编译器的伪指令 
; #pragma interrupt_handler isrRe  
; void isrRe(void) 
;   {
;     unsigned char SerialBuff[1];    //存放接收数据的数组
;   	unsigned char i;
; 	  asm("SEI");	       //禁止所有中断
	SEI
;         //接收1个数据
;         i=SCIReN(1,SerialBuff);
	pshx
	pshh
	lda #1
	psha
	jsr _SCIReN
	ais #3
	tsx
	sta *__r1
	sta 1,X
;         //若收到数据,则发送接到的数据 
;         if(i==0) SCISendN(1,SerialBuff); 
	bne L2
	pshx
	pshh
	lda #1
	psha
	jsr _SCISendN
	ais #3
	tsx
L2:
; 	  asm("CLI");		   //开放总中断	
	CLI
L1:
	ais #2
	.dbline 0 ; func end
	pula
	sta *__rlo
	pula
	sta *__rhi
	pula
	sta *__r11
	pula
	sta *__r10
	pula
	sta *__r9
	pula
	sta *__r8
	pula
	sta *__r7
	pula
	sta *__r6
	pula
	sta *__r5
	pula
	sta *__r4
	pula
	sta *__r3
	pula
	sta *__r2
	pula
	sta *__r1
	pula
	sta *__r0
	pulh
	rti
_isrDummy::
	pshh
;   }
; //未定义的中断处理函数,本函数不能删除
; #pragma interrupt_handler isrDummy  
; void isrDummy(void) 
;   {
L4:
	.dbline 0 ; func end
	pulh
	rti
	.area memory(abs)
	.org 0xffdc
__vectab::
	.word _isrDummy
	.word _isrDummy
	.word _isrDummy
	.word _isrDummy
	.word _isrRe
	.word _isrDummy
	.word _isrDummy
	.word _isrDummy
	.word _isrDummy
	.word _isrDummy
	.word _isrDummy
	.word _isrDummy
	.word _isrDummy
	.word _isrDummy
	.word _isrDummy
	.word _isrDummy
	.word _isrDummy
	.area lit

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -