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
  • Setting an overflow bit would be something only the microcontroller running a program can do.

    Having an assembler source file assigning a value larger than 8 bits would not manage to let the microcontroller see any overflow - the assembler wouldn't manage to find any space for storing that overflow bit in the assing instruction. So any truncate has to happen in the assembler, before a machine code instruction is generated.

Reply
  • Setting an overflow bit would be something only the microcontroller running a program can do.

    Having an assembler source file assigning a value larger than 8 bits would not manage to let the microcontroller see any overflow - the assembler wouldn't manage to find any space for storing that overflow bit in the assing instruction. So any truncate has to happen in the assembler, before a machine code instruction is generated.

Children