title: 8051 Execution Time Little Confusion
body: <p>May I please get help from you regarding a confusion that if DJNZ mnemonic is used then only the label that's given with it will be executed or all the labels from that specific label to DJNZ mnemonic will be executed?</p>
  
  <p>i.e.</p>
  
  <pre><code>DELAY:  MOV R5,#100
  BACK:   MOV R2,#200
  AGAIN:  MOV R3,#250
  HERE:   NOP
  NOP
  NOP
  DJNZ R3,HERE
  DJNZ R2,AGAIN
  DJNZ R5,BACK
  </code></pre>
  
  <p>So when DJNZ R2 is executed will it execute only AGAIN Label statement (MOV R3,#250) or it'll also execute HERE label as well with each execution of AGAIN label? Like in other programming languages we always have return or break statements while there's nothing like that in this program so I do suppose that HERE should always be executed in each cycle of AGAIN but not totally sure about this.</p>