📄 ex1.asm
字号:
************************************************
* FileName: ex1.asm *
* Description: DSP指令实验 *
* Copyright(C) SanZhi Electronic *
************************************************
.title "ex1"
.mmregs
.def _c_int00
DAT0 .SET 60H
DAT1 .SET 61H
DAT2 .SET 62H
DAT3 .SET 63H
.text
ADD3 .MACRO P1,P2,P3,ADDRP ;三数相加宏定义: ADDRP = P1 + P2 + P3
LD P1,A
ADD P2,A
ADD P3,A
STL A,ADDRP
.ENDM
_c_int00:
B start
start: LD #004h,DP ;置数据页指针
STM #1000h,SP ;置堆栈指针
SSBX INTM ;禁止中断
bk0: ST #0012h,DAT0
LD #0023h,A
ADD DAT0,A ;加法操作: A = A + DAT0
NOP
NOP
NOP
NOP
bk1: ST #0054h,DAT0
LD #0002h,A
SUB DAT0,A ;减法操作: A = A - DAT0
NOP
NOP
NOP
NOP
bk2: ST #0345h,DAT0
STM #0002h,T
MPY DAT0,A ;乘法操作: A = DAT0 * T
NOP
NOP
NOP
NOP
bk3: ST #1000h,DAT0
ST #0041h,DAT1
RSBX SXM ;无符号除法操作: DAT0 ÷ DAT1 ; 结果: DAT2:商; DAT3:余数
LD DAT0,A
RPT #15
SUBC DAT1,A
STL A,DAT2
STH A,DAT3
NOP
NOP
NOP
NOP
bk4: ST #0333h,DAT0
SQUR DAT0,A ;平方操作: A = DAT0 * DAT0
NOP
NOP
NOP
NOP
bk5: ST #0034h,DAT0
ST #0243h,DAT1
ST #1230h,DAT2
ADD3 DAT0,DAT1,DAT2,DAT3 ;三数相加操作: DAT3 = DAT0 + DAT1 + DAT2
NOP
NOP
NOP
NOP
bk6: B bk0 ;循环执行
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -