A instrução Scc(Set/Setar) utiliza as flags do registrador CCR para checagem de condições e setar todos os bits
de byte em uma posição de memória ou registrador de dados.
Se a condição cc for verdade(true), o byte em memória ou registrador é alterado para 0xff. Caso contrário, o valor
é alterado para 0x00.
Essa instrução Scc é utilizada em conjunto com as instrução de teste e comparação TST e CMP
respectivamente.
Operação
se cc = 1
entao
destino <- 0xff
senao
destino <- 0x00
Endereçamento Origem
-
Endereçamento Destino
Dx, (Ax), (Ax)+, -(Ax), n(Ax), n(Ax,Dx[.W|.L]|Ax[.W|.L]), absoluto.W, absoluto.L
Tamanho do dado
Byte
CCR
X: -
N: -
Z: -
V: -
C: -
Abaixo a tabela contendo os possíveis valores para as condições cc da instrução Scc:
Tab. 2: Tabela de condições cc
Sigla(cc) |
Descrição |
Lógica |
CC |
Carry Clear |
C = 0 |
CS |
Carry Set |
C = 1 |
EQ |
EQual |
Z = 1 |
GE |
Greater than or Equal |
- |
GT |
Greater than |
- |
HI |
Higher than |
C = 0 + Z = 0 |
LE |
Less than or Equal |
- |
LS |
Lower than or Same |
C=1 + Z=1 |
LT |
Less than |
N=1 + V=0, N=0 + V=1 |
MI |
Minus |
N = 1 |
NE |
Not Equal |
Z = 0 |
PL |
Plus |
N = 0 |
VC |
oVerflow Clear |
V = 0 |
VS |
oVerflow Set |
V = 1 |
F |
false |
0 |
T |
true |
1 |
Sintaxe
Scc.B (Ax)
Scc.B Dx
Scc.B -(Ax)
Scc.B (Ax)+
Exemplo
;D0=00000001 D1=00000001 D3=00000000 D4=000000FF
CMP.B D0, D1 ; Z=1
SEQ.B D3
SNE.B D4
;D3=000000FF D4=00000000