下面的程序编译通过,但在执行的过程中,得不到设想的结果,烦各位老师帮我看下,给点意见!谢谢!
IMR .set 0004h
IFR .set 0006h
WDCR .set 7029h
SCSR1 .set 7018h
MCRA .set 7090h
PBDATDIR .set 709ah
WD_KEY .set 7025h
WSGR .set 0FFFFH
KICK_DOG .macro
LDP #0E0H
SPLK #5555H ,WD_KEY
SPLK #0AAAAH,WD_KEY
LDP #0H
.endm
.title \"vectors.asm\"
.ref _c_int0,phantom
.sect \".vectors\"
reset: b _c_int0;
INT1: b phantom;
int2: b phantom;
int3: b phantom;
int4: b phantom;
int5: b phantom;
int6: b phantom;
.def _c_int0 ,phantom
.bss OUTDATA,1
.bss GPRO, 1
.text
_c_int0:
CLRC CNF
CLRC OVM
CLRC SXM
SETC INTM
LDP #0E0H
SPLK #0E8H,WDCR
SPLK #81FEH,SCSR1
LDP #0E1H
SPLK #0FFH,MCRA
SPLK #0FF00H,PBDATDIR
LDP #0H
SPLK #0,IMR
LACC IFR
SACL IFR
SPLK #0H ,GPRO
OUT GPRO,WSGR
KICK_DOG
LOOP
LDP #0H
SPLK #1H, OUTDATA
ST_LOOP
LDP #0E1H
LACC OUTDATA
OR #0FF00H
SACL PBDATDIR
CALL DELAY
LACC OUTDATA
SFL
SACL OUTDATA
B ST_LOOP
.END
DELAY
LAR AR0,#01H
RPT #0FFH
NOP
RET
phantom:
CLRC INTM
RET
MEMORY
{
PAGE 0: VECS: origin = 0000h, length = 0040h
PROG: origin = 0040h, length = 3fc0h
PAGE 1: B0B1: origin = 0200h, length = 200h
SARAM: origin = 8000h, length = 1000h
}
SECTIONS
{
vectors : { } > VECS PAGE = 0
.cinit : { } > PROG PAGE = 0
.text : { } > PROG PAGE = 0
.const : { } > B0B1 PAGE 1
.data : { } > B0B1 PAGE 1
.bss : { } > SARAM PAGE 1
.stack : { } > SARAM PAGE 1
.sysmem : { } > SARAM PAGE 1
}