用DB在片内0040H开始放入几个数码管的十六进制数据,为什么累加器A读不出来其中的内容?

2019-07-15 14:32发布

ORG 0000H

MAIN:
MOV R0,#DATAB;   将DB存储的内容的首地址给R0,
MOV R1,#08H;
LOOP2:                                 
        MOV A,@R0;  把R0的内容放到累加器A中,
        MOV P0,@R0;
        MOV R2,#08H;          
LOOP1:
        MOV C,ACC.0;
        MOV P3.4,C;
        CLR P3.6;
        NOP;
        NOP;
        SETB P3.6;
        RR A;
        DJNZ R2,LOOP1;
CLR P3.5;
NOP;
NOP;
SETB P3.5;         
ACALL DELAY;
INC R0;
DJNZ R1,LOOP2;
LJMP MAIN;
DELAY:
        MOV R3,#04H;
        F3:MOV R4,0FFH;
        F2:MOV R5,0FFH;
        F1:DJNZ R5,F1;
                DJNZ R4,F2;
                DJNZ R3,F3;
        RET;

ORG 0040H         片内地址
DATAB: DB 0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H  存储内容                 
END


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。