Escrevendo / Modificando / Lendo na memória


São 3 instruções disponíveis a saber:

MEMC – Limpa bit na memória

Descrição: Executa uma operação lê-modifica-escreve para zerar um bit arbitrário na memória. A palavra para modificar é apontada para um endereço de 17 bits com sinal. Isto permite que a instrução atue numa faixa de 64KB superiores e inferiores da memória. Esta instrução faz parte do conjunto de instruções RMW opcional.
Operação: I. *(SE(imm15<<2)[bp5]) ← 0
Sintaxe: I. memc imm, bp5
Operandos: bp5 ∈ {0, 1, ..., 31} / imm ∈ {-65536, -65532,..., 65532} 

MEMS – Eleva um bit na memória

Descrição: Executa uma operação de lê-modifica-escreve para elevar um bit arbitrário na memória. A palavra à ser elevada é apontada por um endereço de 17 bits com sinal. Isto permite o que a instrução enderece uma faixa superiores de 64KB e inferiores de 64KB de memória. Esta instrução faz parte do conjunto de instruções RMW opcional.
Operação: I. *(SE(imm15<<2)[bp5]) ← 1
Sintaxe: I. mems imm, bp5
Operandos: bp5 ∈ {0, 1, ..., 31} / imm ∈ {-65536, -65532,..., 65532} 

MEMT – modifica um bit na memória

Descrição: Executa uma operação lê-modifica-escreve para alternar um bit arbitrário na memória. A palavra à ser modifica é apontada por um endereço de 17 bits com sinal. Isto permite que o endereço da instrução fique na faixa superiores a 64KB e inferiores 64KB na memória. Esta instrução faz parte do conjunto de instruções RMW opcional.
Operação: I. *(SE(imm15<<2)[bp5]) ← ¬*(SE(k15<<2)[bp5])
Sintaxe: I. memt imm, bp5
Operandos: bp5 ∈ {0, 1, ..., 31} / imm ∈ {-65536, -65532,..., 65532} 

Nenhum comentário:

Postar um comentário