This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Newbie Question about looping through ranges longer than 256

Hello forums, I started playing with a coding the 8051 after a long search for an assembly language to learn and it seemed like the way coolest one.
I looked around a bit for how to do this but I probably just couldn't word it correctly; what I'm trying to do is fill memory locations 0x0200-0x05ff with a certain value, doesn't matter what it is. If i had to just do something like fill locations 0x200-0x2ff it would be easy as I could just use:


   mov r0, # 100h
   mov dptr, # 200h
a: mov a, #27
   mov @dptr, a
   inc dptr
   djnz r0, a

but what is the best way to do it for more than 256 bytes?

Answers on a postcard please.

Parents
  • Having an assembler source file assigning a value larger than 8 bits would not manage to let the microcontroller see any overflow

    Well, the designer of an 8051 assembler might, in a particularly nasty mood, decide to actually respect the expressed wish of such assembly program writers and translate

       mov r0, #100h
    

    as if the source had been

       mov r0, #0
       setb c
    

    ;-P

Reply
  • Having an assembler source file assigning a value larger than 8 bits would not manage to let the microcontroller see any overflow

    Well, the designer of an 8051 assembler might, in a particularly nasty mood, decide to actually respect the expressed wish of such assembly program writers and translate

       mov r0, #100h
    

    as if the source had been

       mov r0, #0
       setb c
    

    ;-P

Children