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

📄 memory01.asm

📁 这是我上-dsp-5400用的课件。里面有软件的simulater的设置
💻 ASM
字号:
***********************
*date     07-9-20
*purpose  
*1)掌握各种寻址方式
*2)程序的写法
*3) dp的意义的再次理解
*4)各种指令的理解
*************mmregs 的意义*********
*汇编语言程序中的公用变量应在文件中定义,
*如.def carry。汇编语言程序中使用的局部变量不需要定义,
*可直接声明,例如trn_ num.word 00h。如果在两个asm文件中
*有两个都没有定义的同名变量,则编译程序会认为他们不是同
*一变量。在汇编程序的开头应有 .mmregs宏语句。它一方面表示
*对默认定义的确认(ah,bh,trn等),另一方面可以对所用寄存器
*重新定义。如: 
*.mmregs 
*DMPREC .set 54h ;定义DMA优先和使能寄存器地址在54h 
*DMSA .set 55h 
*DMSDN .set 57h 
*DXR10 .set 23h ;定义串口1的发送寄存器地址在23h 
*************mmregs 的意义*********
*auhtor xcs
**********************	
	.title "memory01.asm" ;ver 01
	.global start	; 定义全局标号
	.mmregs
	.text
start:
	nop
 	ld		#4,dp	; 直接寻址,装载DP值,页指针指向片内数据区DARAM B0
	st		#1,1	; 绝对地址201H开始的四个单元存1,2,3,4
	st		#2,2    ; 
	st		#3,3	; 
	st		#4,4    ; 
	
	stm		#205h,ar1		; 间接寻址,使用辅助寄存器1
	rpt		#3				; 循环重复执行下条语句4次
	st 		#1234h,*ar1+	; 将绝对地址205H开始的4个单元存成1234H
							
							; 下面将201H开始的8个数读出存到2000H开始的8个单元
	stm		#7h,ar3			; 循环计数器=7(8次循环)
	stm		#201h,ar1		; 源起始地址
	stm		#2000h,ar2		; 目的起始地址
loop:
	ld 		*ar1+,T 		; 将ar1指向单元内容读入T寄存器,ar1的值+1
	st 		T,*ar2+			; 将T寄存器的值转存到ar2指向的目的地址,ar2的值+1
	banz	loop,*ar3-		; ar3的值-1,循环计数不等于0则循环
xh:
	b 		xh				; 空循环
	.end

	

⌨️ 快捷键说明

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