www.pudn.com > DSPstudyandexample.rar > EX02.ASM


***存储器实验*** 
 
		.title 	"ex02" 
		.global reset,_c_int00 
		.mmregs 
		.def _c_int00 
		 
ExNo	.set 	00h 
DAT0	.set	01H 
DAT1	.set	02H 
DAT2	.set	03H 
DAT3	.set	04H 
DDAT0	.set	1004H 
DDAT1	.set	1005H 
DDAT2	.set	1006H 
DDAT3	.set	1007H 
PDAT0	.set	1f00H 
PDAT1	.set	1f01H 
PDAT2	.set	1f02H 
PDAT3	.set	1f03H 
 
		.sect ".vectors"			;中断向量表 
reset:	B _c_int00					;复位向量 
		NOP 
		NOP 
		.space 4*126 
		 
		.text 
 
DELAY	.macro COUNT 
 
		STM COUNT,BRC 
		RPTB delay? 
		NOP 
		NOP 
		NOP 
		NOP 
delay?:	NOP 
		.endm 
 
 
_c_int00: 
		LD #020h,DP					;置数据页为1000h~107Fh 
		STM #3000h,SP				;置堆栈指针 
		SSBX INTM					;禁止中断 
		stm		#00a8h,PMST				;改变中断向量映射到0x0080 
		ST	#0002h,ExNo 
		nop 
		nop 
		nop 
			 
bk1:	ST #1234h,DAT0				;立即数寻址 
		ST #5678h,*(DDAT1) 
		NOP 
		NOP 
		NOP 
		 
bk2:	MVDK DAT0,DDAT0				;绝对地址(dmad)寻址 
		MVKD DDAT1,DAT1 
		NOP 
		NOP 
		NOP 
		 
bk3:	MVDP DAT0,PDAT0				;绝对地址(pmad)寻址 
		MVDP DAT1,PDAT1 
		NOP 
		NOP 
		NOP 
		 
bk4:	LD #PDAT1,A					;累加器寻址 
		READA DAT2 
		NOP 
		NOP 
		NOP 
		 
bk5:	ST #3210h,DAT3				;直接寻址(DP指针) 
		NOP 
		NOP 
		NOP 
		 
bk6:	SSBX CPL 
		NOP 
		NOP 
		NOP 
		ST #9876h,DAT3				;直接寻址(SP指针) 
		NOP 
		NOP 
		NOP 
		RSBX CPL 
		NOP 
		NOP 
		NOP 
		 
bk7:	STM #DDAT3,AR0				;间接寻址 
		ST #9876h,*AR0 
		NOP 
		NOP 
		NOP 
 
bk8:	STM #8888h,T				;存储器映射寄存器寻址 
		NOP 
		NOP 
		NOP 
 
bk9:	PSHM T						;堆栈寻址 
		POPM T 
		NOP 
		NOP 
		NOP 
 
bk10:	STM #4000h,AR0				;程序存储器到数据存储器的复制 
		RPT #100h 
		MVPD 1000H,*AR0+ 
		NOP 
		NOP 
		NOP 
		 
bk11:	B _c_int00 
		.end