Modo Enderecamento
Muitas
das instruções do microprocessador Z80 operam com dados armazenados nos
registos internos de CPU, na memória externa ou nos portos de entrada-saída.
Os modos de endereçamento dizem respeito a’ maneira como o endereço é
gerado em cede instrução:
Imediato
(Imediate)
Neste
modo de endereçamento é o byte que se segue ao código de operação na memória
que contém o operando.

Uma
extensão deste tipo de endereçamento é o caso de Os dois bytes seguintes ao código
de opereção serem o operando.

Relativo
(Relative Addressing)
Este
tipo de endereço utiliza o byte de dados que se segue ao código de operação
para especificar o numero de posições de memória para um salto na sequência
do programa. o endereço final é igual a soma deste byte com o valor do endereço
do código de operação seguinte:

O
código de operação da instrução seguinte a de salto relativo está na célula
de memória cujo endereço é A. O byte que faz parte da instrução de salto
relativo tem o valor B. Então, o programa ao executar a instrução de salto
relativo faz com que o conteúdo do contador de programa seja igual a A+B. e a
instrução armazenada nesta posição de memória que o microprocessador vai
executar em seguida. o salto pode ser para posições mais avançadas ou mais
recuadas na memória porque o salto é especificado em complemento para 2. Com 8
bits podemos apontar para 127 posições posteriores e 128 posições anteriores.
Directo (Extended Address)
O
endereçamento directo é conseguido a partir dos dois bytes que se seguem ao código
de operação. Estes dois bytes de dados tanto podem especificar um endereço de
memória, onde se encontra armazenada uma palavra de dados, como um endereço
para onde o processamento do programa deve saltar:

Indexado (indexed Addressing)
especifica
qual deles), fornece o endereço final. o conteúdo do registo de índice não
sofre alterarão:

Um
exemplo de uma instrução que utiliza endereçamento indexado será carregar o
acumulador com o conteúdo da posição de memória cujo endereço é dado pela
soma do byte de dados da instrução indexada com um registo de índice. A
base de endereço pode ser um número positivo ou negativo (em complemento
para dois).
O
microprocessador Z80 possui dois registos de índice designados por IX e IY.
Para se indicar que o endereço é indexado usar-se-á a notação (Ix + d) ou (Iy
+ d). A letra d especifica o valor de base que se segue ao código de operação
e por vezes aparece na forma disp como na tabela de operações do Z80 da lição
anterior.
O
endereçamento indexado distingue-se do endereçamento relativo porque é
utilizado um registo de índice em vez do contador de programa.
Indirecto
com Registos
Os
registos de uso geral da CPU, quando associados aos pares (tais como o HL),
podem ser utilizados como ponteiro de qualquer posição de memória. Este tipo
de instrução é muito poderoso e é utilizado numa grande gama de aplicações:

Um
exemplo de instruções deste tipo será o carregamento do acumulador com o
conteúdo da posição de memória apontada pelo par HL. Muitas vezes o endereçamento
indirecto com registos é utilizado para especificar um operando de 16 bits
(cada posição de memória contém 8 bits). Neste caso o conteúdo do registo
aponta o byte de menor ordem do operando, sendo o registo automaticamente
incrementado para se obter o byte de maior ordem.