标签:
EMC 单片机 指令 技巧
关于EMC编程中的TBL应用
一点点,很多人都知道了。欢迎了解的人增加补充。
EMC软件编程的TBL指令一旦后面所跟的表格出界,会出现错误,但编译不会报错,而且有时错误不容易查出来。一般来说都是把表格之类的东西放在每个PAGE的最前面。但有时也会用到TBL作为程序分支的跳转,会出现在程序中间,可以加上些伪指令在头文件里,这样TBL就可以放在程序当中了,如果一旦过界,编译时会报错的。这个也是我从示例程序中看到的。
TableStart macro
_TabLoc var $/256
endm
TableEnd macro
_TabTmp var $/256
if _TabTmp != _TabLoc
message "Table out page"
_TabErrLocL var $%0x400
_TabErrLocH var $/0x400
endif
_TabLoc var 1000
endm
上面的放在头文件里。
应用,例如:
TBL
TABLESTART
JMP HOUR_DOWN
JMP MINUTE_DOWN
JMP MONTH_DOWN
JMP DATE_DOWN
JMP YEAR_DOWN
TABLEEND
这段程序如果TABLESTART和tableend之间越界,编译时会提示“Table out page”
系统分类:
单片机 | 用户分类:
软件相关 | 来源:
转贴 | 【推荐给朋友】