Navid T
Full Member level 3
Question about Z pointer
Hello
I wrote this code To test how pointer works. I want to Write $4 from Address $50. This Program works Properly But it doesn’t work when I write 50H in Z Register.!!!
Why should I use 1 bit shift left in Pointer register? (Z) I want to reade from 50H but its Twice in Z.
-----------------------------------------------------------------
#include "m32def.inc"
.ORG 0X0000
SETUP:
LDI R16,HIGH(RAMEND)
OUT SPH,R16
LDI R16,LOW(RAMEND)
OUT SPL,R16
LDI R16,$FF
OUT DDRB,R16
MAIN:
LDI R31,HIGH(0X50<<1)
LDI R30,low(0x50<<1)
LPM R16,Z
OUT PORTB,R16
RJMP MAIN
.ORG 0X50
.DB $4
-------------------------------------------------------------------
Best regards
Hello
I wrote this code To test how pointer works. I want to Write $4 from Address $50. This Program works Properly But it doesn’t work when I write 50H in Z Register.!!!
Why should I use 1 bit shift left in Pointer register? (Z) I want to reade from 50H but its Twice in Z.
-----------------------------------------------------------------
#include "m32def.inc"
.ORG 0X0000
SETUP:
LDI R16,HIGH(RAMEND)
OUT SPH,R16
LDI R16,LOW(RAMEND)
OUT SPL,R16
LDI R16,$FF
OUT DDRB,R16
MAIN:
LDI R31,HIGH(0X50<<1)
LDI R30,low(0x50<<1)
LPM R16,Z
OUT PORTB,R16
RJMP MAIN
.ORG 0X50
.DB $4
-------------------------------------------------------------------
Best regards