ADDSX
– Referencia del Lenguaje Ensamblador
ADDSX
instrucción: Suma dos valores signados mas C.
ADDSX
SValue1,
SValue2
#
Result: Suma de SValue1 y SValue2 signados mas la bandera C se almacenan en SValue1.
SValue1
(campo-d) es el registro que contiene el valor a sumar con SValue2 mas C, y
es el destino donde se escribe el resultado.
SValue2
(campo-s) es un registro o literal de 9-bit cuyo valor mas C se suman en
SValue1.
Tabla Opcode:
–INSTR– ZCRI –CON–
–DEST–
110110 001i 1111 ddddddddd sssssssss
Tabla de verdad:
Destino
$FFFF_FFFE; -2
$FFFF_FFFE; -2
$FFFF_FFFE; -2
$0000_0001; 1
$0000_0001; 1
$0000_0001; 1
$7FFF_FFFE; 2,147,483,646
$7FFF_FFFE; 2,147,483,646
$7FFF_FFFE; 2,147,483,646
$8000_0001; -2,147,483,647
$8000_0001; -2,147,483,647
$8000_0001; -2,147,483,647
Explicación
ADDSX
(Add signado, Extended) suma los dos valores signados de SValue1 y SValue2 mas C,
y almacena el resultado en el registro SValue1. La instrucción
sumas signadas multi-long ; sumas de 64-bit, por ejemplo.
Pagina 268 · Manual Propeller v1.1
–SRC–
Resultado Z
Z & (D+S+C = 0)
Entrada
Fuente
Z C Efectos
x
$0000_0001; 1
$0000_0001; 1
0 1
$0000_0001; 1
1 1
x
$FFFF_FFFE; -2
$FFFF_FFFE; -2
0 1
$FFFF_FFFE; -2
1 1
x
$0000_0001; 1
x
$0000_0001; 1
x
$0000_0002; 2
x
$FFFF_FFFF; -1
x
$FFFF_FFFE; -2
$FFFF_FFFE; -2
x
Resultado C
Resultado
signado Overflow
Salida
Destino
wz wc
0
$FFFF_FFFF; -1
wz wc
$0000_0000; 0
wz wc
$0000_0000; 0
wz wc
0
$FFFF_FFFF; -1
wz wc
$0000_0000; 0
wz wc
$0000_0000; 0
wz wc
0
$7FFF_FFFF; 2,147,483,647 0
wz wc
1
$8000_0000; -2,147,483,648 0
wz wc
0
$8000_0000; -2,147,483,648 0
wz wc
0
$8000_0000; -2,147,483,648 0
wz wc
0
$7FFF_FFFF; 2,147,483,647 0
1
wz wc
$8000_0000; -2,147,483,648 0
ADDSX
se usa para desarrollar
Ciclos
Written
4
Z C
0
0
0
0
1
0
0
0
0
0
1
0
0
1
1
0
1
0