找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4046|回復(fù): 8
收起左側(cè)

匯編問題,A1部分可以不用djnz,用jc、jc怎么用?求大佬告知

[復(fù)制鏈接]
ID:307507 發(fā)表于 2018-5-12 18:47 | 顯示全部樓層 |閱讀模式
今天做實(shí)驗(yàn)程序如下:
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,可以用什么代替?

評(píng)分

參與人數(shù) 2黑幣 +10 收起 理由
四驅(qū)小毛孩 + 5 很給力!
cciejs12345 + 5 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:7485 發(fā)表于 2018-5-12 19:04 | 顯示全部樓層
“用jc、jc怎么用”什么意思?
回復(fù)

使用道具 舉報(bào)

ID:123289 發(fā)表于 2018-5-12 20:49 | 顯示全部樓層

回帖獎(jiǎng)勵(lì) +10

為何不看書呢?
回復(fù)

使用道具 舉報(bào)

ID:155507 發(fā)表于 2018-5-12 21:53 | 顯示全部樓層
書上沒有嗎?為什么不看書?網(wǎng)上的解答不會(huì)完整系統(tǒng),不會(huì)看書的人不適合從事單片機(jī)應(yīng)用工作。
回復(fù)

使用道具 舉報(bào)

ID:307507 發(fā)表于 2018-5-13 13:51 | 顯示全部樓層
書也看了,也試過了,就是用算法,沒有成功,希望大家的提示一下,用jc指令怎么使cy置一,jc判定循環(huán)終止進(jìn)入下一個(gè)程序。
回復(fù)

使用道具 舉報(bào)

ID:155507 發(fā)表于 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 常數(shù)#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            

復(fù)制代碼

回復(fù)

使用道具 舉報(bào)

ID:7485 發(fā)表于 2018-5-15 07:28 | 顯示全部樓層
是可以用“jc”,也可以用“jz”(可能除了DJNZ,就這個(gè)簡(jiǎn)便一些了),和“cjne”,其他還有跳轉(zhuǎn)指令都可以。但是都沒有用“djnz”最方便。所以如果是作為熟悉、掌握指令的用法,當(dāng)然可以。實(shí)際應(yīng)用程序中沒必要舍近求遠(yuǎn)。
回復(fù)

使用道具 舉報(bào)

ID:330103 發(fā)表于 2018-5-15 08:39 | 顯示全部樓層
怎么方便怎么來呀
回復(fù)

使用道具 舉報(bào)

ID:307507 發(fā)表于 2018-5-18 01:32 | 顯示全部樓層
謝謝大佬提示
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表