📄 ex2.asm
字号:
************************************************
* FileName: ex2.asm *
* Description: 数据存储器和程序存储器实验 *
* Copyright(C) SanZhi Electronic, Author Zpin *
************************************************
.title "ex2"
.global reset,_c_int00
.mmregs
.def _c_int00
DAT0 .set 00H
DAT1 .set 01H
DAT2 .set 02H
DAT3 .set 03H
DDAT0 .set 2004H
DDAT1 .set 2005H
DDAT2 .set 2006H
DDAT3 .set 2007H
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 #40h,DP ;置数据页为2000h~207Fh
STM #3000h,SP ;置堆栈指针
SSBX INTM ;禁止中断
STM #07FFFh,SWWSR ;置外部等待时间
bk0: SSBX XF ;置XF以实现二极管闪烁
DELAY #0FFFFh
RSBX XF
DELAY #0FFFFh
SSBX XF
DELAY #0FFFFh
;b bk0
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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -