初学汇编,帮忙解释一下这段汇编代码?是查表么?

2020-01-17 19:06发布

RECV:        MOV        0CH,    #00H
RECV1:        MOV        DPTR,   #R_BUFFER1
                MOV        A,0CH
                ADD        A,DPL
                MOV        DPL,A
                CLR        A
                ADDC        A,DPH
                MOV        DPH,A
                MOVX        A,@DPTR
                MOV        0EH,A
                MOV        DPTR,#T_TAB
                MOV        A,0CH
                ADD        A,DPL
                MOV        DPL,A
                CLR        A
                ADDC        A,DPH
                MOV        DPH,A
                MOV        A,0EH
                MOVX        @DPTR,A
                INC        0CH
                MOV        A,0CH
                NOP
                NOP
                CJNE        A,#16,RECV1
                MOV        DPTR,#R_BUFFER2
                MOVX        A,@DPTR
                NOP
                NOP
                CJNE        A,#1,RECV2
                MOV        DPTR,#S_TAB
                NOP
                NOP
                LJMP        RECV101
RECV2:        NOP
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
xiaowu191
1楼-- · 2020-01-17 21:59
 精彩回答 2  元偷偷看……
our2008
2楼-- · 2020-01-17 22:25
for(0Ch=0; 0ch<16;0ch++)
    {T_TAB[0Ch]=R_BUFFER1[0Ch];}
if(R_BUFFER2[0]==1) goto RECV101;
goto RECV101;
stm8s10x
3楼-- · 2020-01-18 03:37
xiaowu191 发表于 2016-5-14 17:02
是外部RAM,的数组复制

for(i = 0;i < 16;i ++)(XDATA)T_TAB = (XDATA)R_BUFFER1;

会反啊
zchong
4楼-- · 2020-01-18 04:37
初中?你咋不上天呢
jxchen
5楼-- · 2020-01-18 07:49
;讀取R_BUUFER1內容,與讀取T_TAB內容


RECV:           MOV        0CH,    #00H

RECV1:
                MOV        DPTR,#R_BUFFER1
                MOV        A,0CH
                ADD        A,DPL
                MOV        DPL,A
                CLR        A
                ADDC        A,DPH
                MOV        DPH,A
                MOVX        A,@DPTR
                MOV        0EH,A
                MOV        DPTR,#T_TAB
                MOV        A,0CH
                ADD        A,DPL
                MOV        DPL,A
                CLR        A
                ADDC        A,DPH
                MOV        DPH,A
                MOV        A,0EH
                MOVX        @DPTR,A
                INC        0CH
                MOV        A,0CH
                NOP
                NOP
                CJNE        A,#16,RECV1         ;比對16次完成?
                MOV        DPTR,#R_BUFFER2  ;已比對完成,載入R_BUFFER2
                MOVX        A,@DPTR            
                NOP
                NOP
                CJNE        A,#1,RECV2          ;比對內容是否為 1,不是跳到 RECV2
                MOV        DPTR,#S_TAB         ;是載入S_TAB
                NOP
                NOP
                LJMP                            ;跳到 RECV101
RECV2:        NOP

你給的程式片斷太少,至於查什麼程式看不出來


xuyapple
6楼-- · 2020-01-18 08:30
 精彩回答 2  元偷偷看……

一周热门 更多>