三星S3C/S3P/S3F9XXX系列單片機(jī)實(shí)現(xiàn)查表操作的一個示例
三星S3C/S3P/S3F9XXX系列單片機(jī)實(shí)現(xiàn)查表操作的一個示例
;實(shí)現(xiàn)查表操作須首先定義表地址,有兩種定義方式
;方式一常用于參數(shù)表定義:
ORG0040H
CODE_TABLE:
DB01H
DB02H
DB03H
;方式二常用于系列子程序地址表定義:
ORG0050H
DISPLAY_TABLE:
VECTOR$,DISPLAY_TR;DISPLAY_TR是一個子程序名稱,以下同
VECTOR$,DISPLAY_SET;注意這里每個地址均占用一個字(兩個字節(jié))
VECTOR$,DISPLAY_CHGSET;這些地址表填充由編譯器完成
;-------------------------------------------------------------------
;在進(jìn)行查表時,注意一定要對應(yīng)好表格各行所在的地址,否則就大錯特錯了
ORG0100H
MAIN:
LDR0,#00H;表地址高位字節(jié)是00H
LDR1,#CODE_TABLE;低位為表名稱
LDCR10,@RR0;將表格地址的第1個數(shù)據(jù)調(diào)入R10中
INCR1
LDCR10,@RR0;將表格地址的第2個數(shù)據(jù)調(diào)入R10中
;....
;....
LDR0,#00H
LDR1,#DISPLAY_TABLE
LDCR14,@RR0;將顯示子過程表的第一個過程高位字節(jié)調(diào)入R14
INCR1
LDCR15,@RR0;將顯示子過程表的第一個過程低位字節(jié)調(diào)入R15
CALL@RR14;調(diào)用子過程
JPMAIN
;--------------------------------
;顯示測試溫度子程序
DISPLAY_TR:
NOP
RET
;---------------------------------
;顯示設(shè)置溫度子程序
DISPLAY_SET:
NOP
RET
;---------------------------------
;顯示修改設(shè)置溫度子程序
DISPLAY_CHGSET:
NOP
RET