Memoria:
Instrucciones lógicas:
Instrucciones aritméticas:
Instrucciones de comparación:
TST R1,#0x80 → Z = 1 si bit7=0 , Z = 0 si bit7=1
Instrucciones de corrimiento:
Corrimientos disponibles por el barrel shifter (desplazamiento , rotación):
Banderas y ejecuciones condicionales:
N(Negativo):
V(Overflow):
Valores distintos indican desborde.
C(acarreo, carry):
Listado de condiciones:
Saltos:
DATO QUIZÁS IMPORTANTE: en el BL después de que se carga el valor del LR en el PC,
se hace un ajuste restando 4 para volver a la posición real (obviamente es automático).
Instrucciones de carga y almacenamiento:
Stack:
El STACK, es una porción de memoria que se utiliza para guardar información temporal
dentro de una función o programa.
Esta porción de memoria se expande cuando se requiere guardar información y se libera
en el momento que esa información no es más necesaria.
Las funciones pueden por ejemplo utilizar el stack para las variables locales, desocupando
la memoria al salir de la función.
Carga y Almacenamiento de Registros Múltiples:
Push pop:
Registro del ARM:
Funciones leaf y nonleaf:
Funciones recursivas no lo pongo(ver filmina 7)
Lenguaje máquina:
Procesamiento de datos:
Más información en este video:
[Link]
5BcCVp&index=5
(no creo que tome código máquina tan específico sino más bien como tomó en el final
pasado).
EJEMPLOS PALABRAS DE CONTROL:
Conversores DAC Y ADC:
DAC:
DAC – Divisor Kelvin:
DAC – R2R(modo tensión): utiliza 2^(n-1) resistencias.
DAC – R-2R Modo Corriente:
ADC:
Simple rampa:
ADC de Doble Rampa:
Tiempo de conversión: n^(n+1)tclk
Modulador Delta:
ADC Sigma-delta:
Este ADC es otra modificación del modulador Delta. ● Y al igual que el Delta, utiliza la
técnica del sobremuestreo. ● Trabajos posteriores implementaron un filtro digital y un
decimador después del modulador, para transformar al Sigma-Delta en un ADC de Nyquist.
● Es principalmente usado en aplicaciones de alta resolución y baja frecuencia. ● No
requiere ajustes. ● La simplicidad de su etapa analógica lo hace susceptible a la integración
y por lo tanto a la constante baja de costos principalmente en lo últimos años.
ADC Flash:
Tiempo de conversión: 1clk (limitado por el tiempo de propagación de las compuertas)
ADC aproximaciones sucesivas:
Tiempo de conversión: (n+1)*tclk
ADC pipline:
tclk*n al principio y despúes 1 clk.
Trama-UART-RS232:
9600 baudios por segundo ->simbolos por seg
trama->10 simbolos
cuantos bytes transmito por segundo?
rta=960 bytes/seg
También se puede agregar un bit de paridad que va a agregar un cero o un uno para
completar dependiendo si la transmisión fue seteada con paridad par o impar.
Rechazo del modo serie o del modo normal (SMRR, NMRR) en ADC integradores:
Ruido de Cuantización (SNR):
Sobre-muestreo:
SNR según tasa de sobremuestreo y orden:
Relación entre orden y sobremuestreo necesario:
Datos útiles:
-intercambiar registros sin usar otro registro:
sub r0,r0,r1
add r1, r1,r0
sub r0,r1,r0
otra forma
eor r0,r0,r1
eor r1,r0,r1
eor r0,r0,r1
-Que instrucción ejecuta 0x0000 y 0xFFFF?:
salida <- entrada
invalida
-R1<-0: 0x083
R3<-not r3: 61F0