找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3376|回复: 8
打印 上一主题 下一主题
收起左侧

汇编问题,A1部分可以不用djnz,用jc、jc怎么用?求大佬告知

[复制链接]
跳转到指定楼层
楼主
ID:307507 发表于 2018-5-12 18:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天做实验程序如下:
ORG 0000H              
                            LJMP MAIN
              MAIN:   MOV R0,#30H
                            MOV  R2,#10H
                            CLR  A
                A1:      MOV  @R0,A
                           INC  R0
                            INC  A
                            DJNZ R2,A1
                            MOV  R0,#30H
                            MOV  R1,#40H
                            MOV  R2,#10H
                A2:  MOV  A, @R0
                      MOV @R1,A
                            INC   R0
                            INC   R1
                            DJNZ  R2, A2
                            MOV   R1,#40H
                            MOV   DPTR ,#4800H
                            MOV   R2,  #10H
                A3:  MOV   A,@R1
                      MOVX @DPTR ,A
                            INC   R1
                            INC   DPTR
                            DJNZ  R2,A3
                            MOV   SP,#60H
                            MOV   R2,#10H
                            MOV   DPTR ,#4800H
                            PUSH  DPL
                            PUSH  DPH
                            MOV   DPTR,#5800H
                            MOV   R3,DPL
                            MOV   R4,DPH
                A4:  POP   DPH
                           POP   DPL
                            MOVX  A,@DPTR
                            INC   DPTR
                            PUSH  DPL
                            PUSH  DPH
                            MOV   DPL,R3


                            MOV   DPH,R4
                            MOVX  @DPTR,A
                            INC   DPTR                     
                            MOV   R3,DPL
                            MOV   R4,DPH
                            DJNZ  R2,A4
                            MOV   R0,#50H
                            MOV   DPTR,#5800H
                            MOV   R2,#10H
               A5:   MOVX  A,@DPTR
                           MOV   @R0,A
                            INC    R0
                            INC    DPTR
                            DJNZ   R2,A5
POP   DPH
                           POP   DPL
               HERE: LJMP HERE
                            END              老师问A1部分可以不用djnz,用jc、jc怎么用?


      A 5部分可以不用DPTR,可以用什么代替?

评分

参与人数 2黑币 +10 收起 理由
四驱小毛孩 + 5 很给力!
cciejs12345 + 5 回帖助人的奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:7485 发表于 2018-5-12 19:04 | 只看该作者
“用jc、jc怎么用”什么意思?
回复

使用道具 举报

板凳
ID:123289 发表于 2018-5-12 20:49 | 只看该作者

回帖奖励 +10

为何不看书呢?
回复

使用道具 举报

地板
ID:155507 发表于 2018-5-12 21:53 | 只看该作者
书上没有吗?为什么不看书?网上的解答不会完整系统,不会看书的人不适合从事单片机应用工作。
回复

使用道具 举报

5#
ID:307507 发表于 2018-5-13 13:51 | 只看该作者
书也看了,也试过了,就是用算法,没有成功,希望大家的提示一下,用jc指令怎么使cy置一,jc判定循环终止进入下一个程序。
回复

使用道具 举报

6#
ID:155507 发表于 2018-5-13 22:10 | 只看该作者

  1.                 ORG 0000H              
  2.                 LJMP MAIN
  3. MAIN:   MOV  R0, #30H
  4.                 MOV  R2, #010H
  5.                 CLR  A
  6.                 MOV  R1, A                ; 将累加器A 送给R1寄存器
  7. A1:         MOV  A, R1                ; 将R1寄存器送给累加器A  保存累加器A
  8.                 MOV  @R0,A
  9.                 INC  R0
  10.                 ;INC  A                 ;可以不用
  11.                 INC  R1
  12.                 DEC  R2
  13.                 MOV  A, R2                ; 将R2寄存器送给累加器A
  14.                 ADD A, #0FFH        ; 加累加器A 常数#0FFH
  15.                 JC   A1                        ; 用 Jc
  16.                 ;DJNZ R2,A1                ;可以不用djnz
  17.                 MOV  R0,#30H
  18.                 MOV  R1,#40H
  19.                 MOV  R2,#10H
  20. A2:          MOV  A, @R0
  21.                 MOV @R1,A
  22.                 INC   R0
  23.                 INC   R1
  24.                 DJNZ  R2, A2
  25.                 MOV   R1,#40H
  26.                 MOV   DPTR ,#4800H
  27.                 MOV   R2,  #10H
  28. A3:          MOV   A,@R1
  29.                 MOVX @DPTR ,A
  30.                 INC   R1
  31.                 INC   DPTR
  32.                 DJNZ  R2,A3
  33.                 MOV   SP,#60H
  34.                 MOV   R2,#10H
  35.                 MOV   DPTR ,#4800H
  36.                 PUSH  DPL
  37.                 PUSH  DPH
  38.                 MOV   DPTR,#5800H
  39.                 MOV   R3,DPL
  40.                 MOV   R4,DPH
  41. A4:          POP   DPH
  42.                 POP   DPL
  43.                 MOVX  A,@DPTR
  44.                 INC   DPTR
  45.                 PUSH  DPL
  46.                 PUSH  DPH
  47.                 MOV   DPL,R3


  48.                 MOV   DPH,R4
  49.                 MOVX  @DPTR,A
  50.                 INC   DPTR                     
  51.                 MOV   R3,DPL
  52.                 MOV   R4,DPH
  53.                 DJNZ  R2,A4
  54.                 MOV   R0,#50H
  55.                 MOV   DPTR,#5800H
  56.                 MOV   R2,#10H
  57. A5:           MOVX  A,@DPTR
  58.                 MOV   @R0,A
  59.                 INC    R0
  60.                 INC    DPTR
  61.                 DJNZ   R2,A5
  62.                 POP   DPH
  63.                 POP   DPL
  64.                 HERE: LJMP HERE
  65.                 END            

复制代码

回复

使用道具 举报

7#
ID:7485 发表于 2018-5-15 07:28 | 只看该作者
是可以用“jc”,也可以用“jz”(可能除了DJNZ,就这个简便一些了),和“cjne”,其他还有跳转指令都可以。但是都没有用“djnz”最方便。所以如果是作为熟悉、掌握指令的用法,当然可以。实际应用程序中没必要舍近求远。
回复

使用道具 举报

8#
ID:330103 发表于 2018-5-15 08:39 | 只看该作者
怎么方便怎么来呀
回复

使用道具 举报

9#
ID:307507 发表于 2018-5-18 01:32 | 只看该作者
谢谢大佬提示
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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