查表指令

查表指令

ORG 0000H

SJMP START

 
 

ORG 0030H

START:

MOV SP,#60H

    MOV P1,#0FFH

 
 

MAIN:

    MOV    DPTR,#TAB

    MOV A,#01H

    MOVC A,@A+DPTR

    MOV P1, A

    JMP $

 
 

TAB:

DB 00H,01H,02H,04H,08H,10H

 
 

END

查表指令示例程序二

ORG 0000H

SJMP START

ORG 0030H

START:

    MOV SP,#60H

    MOV P0,#0FFH

    MOV R2,#00H

MAIN:

    MOV A,R2

    MOV DPTR,#TAB

    MOVC A,@A+DPTR

    MOV P0,A

    INC R2

    CALL DELAY

    CJNE R2,#08H,MAIN ;R2不等于#08H,跳转至MAIN

    MOV R2,#00H

    SJMP MAIN

 
 

DELAY:

    MOV R0,#0FFH

    D2:

        MOV R1,#255

        D1:

            DJNZ R1,D1

        DJNZ R0,D2

    RET

 
 

TAB:

DB    0FEH,00H,01H,02H,03H,04H,05H,06H

 
 

END

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注