Mám v SW odkazy na adresy ( funkce ADR() ) a potřebuji je zkontrolovat.
Proměnná je na adrese %RL356. Pointer má hodnotu 393572 (16#60164). Jak se dají tyto hodnoty porovnat ?
Děkuji
Odpovědi 1
M.B.
15. 9. 2023 14:18
Adresa pointeru je ofset v lineárním paměťového prostoru. Ten se skládá ze zóny registrů X, Y, S, D a R. Adresa prvního registru %R0 je tedy posunutá o velikost zón X, Y, S a D. Adresa se liší podle řady centrální jednotky a lze ji získat funkcí viz níže:
FUNCTION Pointer_R0 : UDINT VAR p : UDINT; END_VAR BEGIN {ASM} LD __offset(%R0) WRX p {END_ASM} Pointer_R0 := p; END_FUNCTION
Vaše odpověď
Pro vložení odpovědi je nezbytné být přihlášený. Pokračujte na přihlášení.