资源描述
.include "f2407.h"
.def _c_int0
.data
data0 .word 0 将0的值装入到 data0 下面同样
data1 .word 1
data2 .word 2
data3 .word 3
data4 .word 4u
data5 .word 5
data6 .word 6
data7 .word 7
CALL SYSINIT ;无+统初始化
.text
_c_int0:
LDP #DP_B01 ;数据页指针 ;DP_B01=4;将4赋给指针DP
LACC data0 ;data0 的值赋给累加器ACC
ADD #1 ;累加器ACC加1
SACL data1 ;将ACC的值加1后的值装入到data1中
NOP ;空操作(什么也不作)
MAR *, AR1 ;定义AR1(系统提供的8个辅助寄存器AR0—AR7中的一个)
LAR AR1,#data3 ;将data3的地址的值赋给AR1
LACC data2 ;将data2的值给累加器
(若# data2则为将data2的地址值给累加器)
ADD * ;ACC=ACC+*AR1
SACL data3 ; 将累加器中的值与AR1所指向的值相加后的值装入到 data3
NOP
LACC #100 ;将100的值给了累加器ACC(若##100则意思是100的地址值
给累加器)
LAR AR1, #data4 ;将data4的地址的值赋给AR1
ADD *+ ;ACC=ACC+*AR1; AR1=AR1+1
SACL data5 ;将累加器中的值与AR1所指向的值相加后的值装入到 data5
NOP
LACC #10 ;将10的值给了累加器ACC(若##10则意思是10的地址值
给累加器)
LAR AR1,#data6
LAR AR0,#2
ADD *0+ ; ACC =ACC+*AR1;AR1 =AR1+AR0
SACL data7
NOP
死循环
LOOP: NOP ;
B LOOP ;
无条件跳转
SYSINIT: SETC INTM ;关中断
CLRC SXM ;符号扩展有效(有关正负号1和0的,扩展后不乱)
CLRC OVM ;溢出模式
CLRC CNF ;B0数据存储器使用(SETC CNF是程序数据存储器)
LDP #0E0H
SPLK #0200H, SCSR1;30M ;将值0200送到寄存器SCSR1中(30M不使用任何模块)-(相当于单片机中的MOV)
SPLK #6FH, WDCR ;看门狗控制寄存器(监视程序运行,用运行的时间来监视)
LDP #0
SPLK #0000H, IMR ;中断屏蔽寄存器(IMR)
SPLK #0FFFFH, IFR ; 中断标志寄存器(IFR)
RET
.END
另外的;
SETC INTM ; 关(掉)中断
CLRC SXM ;符号扩展有效(有关正负号1和0的,扩展后不乱)
CLRC OVM ;
展开阅读全文