Postautor: gawel » 26 kwie 2004, o 08:32
ldi ZL,low(mulbuf1)
ldi ZH,high(mulbuf1)
oznacza pobranie do rejestru Z pełnego adresu zmiennej mulbuf1 (w sensie 16 bitów adresu).
ldi ZH,0
ldi ZL,low(sbuf)
oznacza podobnie jak wyżej pobranie do rejestru Z adresu zmiennej sbuf (w sensie 8 bitów, bo starsza część jest zerowa, co ogranicza adres zmiennej do max 256). Jeżeli te instrukcje są wykonywane w procku, który nie ma więcej pamięci niż 256 bajtów, to nie ma żadnej różnicy w działaniu.
Jeżeli zmienna położona jest na adresie poniżej 256 (a tak musi być w przypadku przykładowo 2313), to kompilator obliczając wartość wyrażenia HIGH(mulbuf1) zamieni to na 0 (zero).
Ostatnio zmieniony 26 kwie 2004, o 13:13 przez
gawel, łącznie zmieniany 1 raz.