三星S3C/S3P/S3F9XXX系列单片机实现查表操作的一个示例
扫描二维码
随时随地手机看文章
三星S3C/S3P/S3F9XXX系列单片机实现查表操作的一个示例
;实现查表操作须首先定义表地址,有两种定义方式
;方式一常用于参数表定义:
ORG0040H
CODE_TABLE:
DB01H
DB02H
DB03H
;方式二常用于系列子程序地址表定义:
ORG0050H
DISPLAY_TABLE:
VECTOR$,DISPLAY_TR;DISPLAY_TR是一个子程序名称,以下同
VECTOR$,DISPLAY_SET;注意这里每个地址均占用一个字(两个字节)
VECTOR$,DISPLAY_CHGSET;这些地址表填充由编译器完成
;-------------------------------------------------------------------
;在进行查表时,注意一定要对应好表格各行所在的地址,否则就大错特错了
ORG0100H
MAIN:
LDR0,#00H;表地址高位字节是00H
LDR1,#CODE_TABLE;低位为表名称
LDCR10,@RR0;将表格地址的第1个数据调入R10中
INCR1
LDCR10,@RR0;将表格地址的第2个数据调入R10中
;....
;....
LDR0,#00H
LDR1,#DISPLAY_TABLE
LDCR14,@RR0;将显示子过程表的第一个过程高位字节调入R14
INCR1
LDCR15,@RR0;将显示子过程表的第一个过程低位字节调入R15
CALL@RR14;调用子过程
JPMAIN
;--------------------------------
;显示测试温度子程序
DISPLAY_TR:
NOP
RET
;---------------------------------
;显示设置温度子程序
DISPLAY_SET:
NOP
RET
;---------------------------------
;显示修改设置温度子程序
DISPLAY_CHGSET:
NOP
RET