为什么下面的代码会报错
;定义计时数据,初始值为00.00秒;
TIME_DATA DB 0,0,0,0
;定义变量
START_FLAG DB 0 ;定义启动标志,初始值为0
PAUSE_FLAG DB 0 ;定义暂停标志,初始值为0
RESET_FLAG DB 0 ;定义复位标志,初始值为0
;定义常量
MAX_TIME DB 99, 99 ;定义计时的最大值为99.99秒
ORG 0000H ;复位中断向量 ;
LJMP MAIN
ORG 0013H ;定时器中断向量;
LJMP TIMER_ISR
MAIN: ;主循环代码
JNB P3.0, START_TIME ;如果启动/暂停/继续按键被按下,则跳转到START_TIME标签
JNB P3.1, RESET_TIME ;如果复位按键被按下,则跳转到RESET_TIME标签
SJMP MAIN ;否则继续执行主循环
START_TIME:
JB START_FLAG, PAUSE_TIME ;如果启动标志为1,则跳转到PAUSE_TIME标签
MOV START_FLAG, #1 ;将启动标志置为1
SJMP MAIN ;跳转回主循环
PAUSE_TIME:
JB PAUSE_FLAG, CONTINUE_TIME ;如果暂停标志为1,则跳转到CONTINUE_TIME标签
MOV PAUSE_FLAG, #1 ;将暂停标志置为1
SJMP MAIN ;跳转回主循环
CONTINUE_TIME:
MOV PAUSE_FLAG, #0 ;将暂停标志置为0
SJMP MAIN ;跳转回主循环
RESET_TIME:
JB START_FLAG, RESET_TIME_EXIT ;如果启动标志为1,则跳转到RESET_TIME_EXIT标签
JB PAUSE_FLAG, RESET_TIME_EXIT ;如果暂停标志为1,则跳转到RESET_TIME_EXIT标签
MOV RESET_FLAG, #1 ;将复位标志置为1
SJMP MAIN ;跳转回主循环
RESET_TIME_EXIT:
SJMP MAIN ;跳转回主循环
;计时中断处理程序
TIMER_ISR:
INC TIME_DATA ;将计时数据加1
CJNE TIME_DATA+3, #100, TIMER_EXIT ;如果秒数不等于100,则跳转到TIMER_EXIT标签
CJNE TIME_DATA+2, #100, TIMER_EXIT ;如果十分位不等于100,则跳转到TIMER_EXIT标签
MOV TIME_DATA, #0 ;将计时数据清零
MOV TIME_DATA+1, #0 ;将计时数据清零
MOV TIME_DATA+2, #0 ;将计时数据清零
MOV TIME_DATA+3, #0 ;将计时数据清零
MOV START_FLAG, #0 ;将启动标志清零
MOV PAUSE_FLAG, #0 ;将暂停标志清零
MOV RESET_FLAG, #0 ;将复位标志清零
MOV P1, #0FFH ;将P1口全部置高,即所有数码管都不显示
SJMP MAIN ;跳转回主循环
TIMER_EXIT:
MOV A, TIME_DATA+3 ;将秒数的百分位存入累加器A
MOV P1, A ;将累加器A的值输出到P1口,即第四个数码管
MOV A, TIME_DATA+2 ;将秒数的十分位存入累加器A
MOV P2, A ;将累加器A的值输出到P2口,即第三个数码管
MOV A, TIME_DATA+1 ;将秒数的个位存入累加器A
MOV P3, A ;将累加器A的值输出到P3口,即第二个数码管
MOV A, TIME_DATA ;将秒数的小数位存入累加器A
MOV P0, A ;将累加器A的值输出到P0口,即第一个数码管
RETI ;返回中断前的状态
END
报的错误如下:
assembling tim.asm...
tim.asm(2): error A9: SYNTAX ERROR
tim.asm(5): error A9: SYNTAX ERROR
tim.asm(6): error A9: SYNTAX ERROR
tim.asm(7): error A9: SYNTAX ERROR
tim.asm(9): error A9: SYNTAX ERROR
tim.asm(24): error A45: UNDEFINED SYMBOL (PASS-2)
tim.asm(25): error A45: UNDEFINED SYMBOL (PASS-2)
tim.asm(29): error A45: UNDEFINED SYMBOL (PASS-2)
tim.asm(30): error A45: UNDEFINED SYMBOL (PASS-2)
tim.asm(34): error A45: UNDEFINED SYMBOL (PASS-2)
tim.asm(38): error A45: UNDEFINED SYMBOL (PASS-2)
tim.asm(39): error A45: UNDEFINED SYMBOL (PASS-2)
tim.asm(40): error A45: UNDEFINED SYMBOL (PASS-2)
tim.asm(48): error A45: UNDEFINED SYMBOL (PASS-2)
tim.asm(49): error A39: REGISTER OPERAND EXPECTED
tim.asm(50): error A39: REGISTER OPERAND EXPECTED
tim.asm(51): error A45: UNDEFINED SYMBOL (PASS-2)
tim.asm(52): error A45: UNDEFINED SYMBOL (PASS-2)
tim.asm(53): error A45: UNDEFINED SYMBOL (PASS-2)
tim.asm(54): error A45: UNDEFINED SYMBOL (PASS-2)
tim.asm(55): error A45: UNDEFINED SYMBOL (PASS-2)
tim.asm(56): error A45: UNDEFINED SYMBOL (PASS-2)
tim.asm(57): error A45: UNDEFINED SYMBOL (PASS-2)
tim.asm(62): error A45: UNDEFINED SYMBOL (PASS-2)
tim.asm(64): error A45: UNDEFINED SYMBOL (PASS-2)
tim.asm(66): error A45: UNDEFINED SYMBOL (PASS-2)
tim.asm(68): error A45: UNDEFINED SYMBOL (PASS-2)
tim.asm - 27 Error(s), 0 Warning(s).
这是51单片机的内容,开始不是已经定义了吗?