搜索
bottom↓
回复: 15

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

[复制链接]

出0入0汤圆

发表于 2016-5-14 16:42:22 | 显示全部楼层 |阅读模式
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

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入0汤圆

发表于 2016-5-14 17:02:22 | 显示全部楼层
是外部RAM,的数组复制

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

出50入10汤圆

发表于 2016-5-14 17:05:31 | 显示全部楼层
for(0Ch=0; 0ch<16;0ch++)
    {T_TAB[0Ch]=R_BUFFER1[0Ch];}
if(R_BUFFER2[0]==1) goto RECV101;
goto RECV101;

出0入31汤圆

发表于 2016-5-14 17:34:54 来自手机 | 显示全部楼层
初中?你咋不上天呢

出0入0汤圆

发表于 2016-5-14 23:39:27 | 显示全部楼层
;讀取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

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


出90入0汤圆

发表于 2016-5-14 23:55:49 | 显示全部楼层
zchong 发表于 2016-5-14 17:34
初中?你咋不上天呢

楼主是初学汇编,不是初中。。。

出0入0汤圆

发表于 2016-5-15 07:39:58 | 显示全部楼层
确实很想问下,为什么要学汇编?

出0入8汤圆

发表于 2016-5-15 09:11:06 | 显示全部楼层
klxx68 发表于 2016-5-15 07:39
确实很想问下,为什么要学汇编?

你以为所有的芯片都有c编译器啊。

出0入31汤圆

发表于 2016-5-15 11:41:13 | 显示全部楼层
xuyapple 发表于 2016-5-14 23:55
楼主是初学汇编,不是初中。。。

我道歉,

出0入0汤圆

发表于 2016-5-15 15:57:14 来自手机 | 显示全部楼层
初中生又搞出无人机了,还是超音波避障的!

出0入0汤圆

发表于 2016-5-16 11:49:46 | 显示全部楼层
kebaojun305 发表于 2016-5-15 09:11
你以为所有的芯片都有c编译器啊。

确实没有深入调查,一直认为没有C编译器支持的芯片要不被淘汰要不就是加入C大家庭,是大势所趋。另外现在芯片种类厂家这么多,可选择替代方案,有必要为了某一种芯片专门去学汇编吗?

出0入0汤圆

发表于 2016-5-16 13:45:41 | 显示全部楼层
本帖最后由 GoingDown 于 2016-5-16 14:03 编辑
  1. for(int i=0;i<16;i++)
  2. {
  3.      T_TAB[i]=R_BUFFER1[i];
  4. }

  5. if(*R_BUFFER2  == 1)
  6. {
  7.     DPTR  =  &S_TAB[0];
  8.     RECV101();
  9. }
  10. else
  11. {
  12. //RECV2的内容
  13. ......
  14. }
复制代码

出0入8汤圆

发表于 2016-5-16 15:38:36 | 显示全部楼层
klxx68 发表于 2016-5-16 11:49
确实没有深入调查,一直认为没有C编译器支持的芯片要不被淘汰要不就是加入C大家庭,是大势所趋。另外现在 ...

不用专门去学啊,汇编都通用的 只是助记符 有分别,打印个指令表,直接就开工了。 不在乎成本的是可以选带C编译器的。

出0入0汤圆

发表于 2016-5-16 16:29:47 | 显示全部楼层
kebaojun305 发表于 2016-5-16 15:38
不用专门去学啊,汇编都通用的 只是助记符 有分别,打印个指令表,直接就开工了。 不在乎成本的是可以选 ...

汇编不通用吧,不同架构的处理器。

出0入0汤圆

发表于 2016-6-15 19:51:37 | 显示全部楼层
看见51汇编感觉真亲切~~~~~~~~~~~~~~我用的就是51汇编
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-10-2 23:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表