Bueno cómo le va y el otro que dijimos que tenemos que saber de los micropresores son los registros o sea cualquier micro que vos quieras ponerte aprender a programar en hacerme o conocer su arquitectura tenéis que aprender de los nombrescitos de los registros entonces en el manual de Intel que estamos analizando en el volumen 1 capítulo 3 3.4 basic programa ejecutions y que dice acá bueno ya tenemos los registros del microprocesador estos son los grupos de registro que más importantes que tenemos lo del propósito general ABC de bla bla los registros de segmentos se sepe
de bla bla y Flash o flash y Flash r flash según el funcionamiento del micro en 1632 64 bits que tienen los estados no sé la suma que vos mandaste hacer medio cero o la instrucción que me ejecuté dio cero o el Beat más significativo está en uno onda es negativo el resultado viene interrupción o las interrupciones están deshabilitadas o hay carry qué sé yo todas esas cosas están explicadas en el registro de Flash y él hizo un Pointer instrucción Pointer e instrucción Pointer extendido en 32 bits o r IP en 64 bits acá vamos
entonces por categoría no los de propósito general a x que se le acumulador MX que es el base sx que es el contador y edx que es el de datos estos primeros cuatro registros que son el 6 y el D vienen desde la antigüedad como el a a L parte baja a H parte alta a x un registro de 16 o sea a L era de 8 a H era de otros 8 más 8 más 8 16 a xc completo eax le agregan 16 bit más cuando pasan la arquitectura 32 esta misma aplicación vale para
todo lo que están acá no el esi y el Edi sería source Index y destination Index son registros que se suelen utilizar para operaciones de movimiento no como Surf de origen y de destino tipo no se copiaron String de un lugar a otro o copiar un pedazo de memoria de un lugar a otro hay operaciones o instrucciones del Microsoft que permiten hacer eso desde esta dirección de memoria o la dirección de memoria que esté guardada Dentro de este registro como origen y la dirección de manera que esté guardada Dentro de este registro como destino simplificando
porque hay 800 modos de direccionamiento no lo que yo siento pero son muchos el edp que es base y el esp que es deck es el registro de estack del microprocesador está Pointer en 8 bitsp en 32 bits y rsp en 64 bits voy acá dice que son operando para operaciones lógicas o aritméticas que son operandos para el cálculo de dirección o sea todos estos se pueden meter como una aritmética para el cálculo de dirección no sé la dirección de lo que esté dentro de la x más no sé un número eso me lo puede
escribir en asembil y punteros de memoria el esi son punteros de origen y destino en la copia de bloques de memoria o manejo de streamings o de caracteres o de bytes si lo quieren llamar así y el ebp es un puntero base y el Start Pointer es un puntero al stack Se podrían usar como una base y un desplazamiento O sea a partir de esta dirección correte tantos bytes en la memoria RAM importantísimo el SP no o el rsp o el esp el puntero stack es es importantísimo muchísimos ataques de software a explotar de tomar
el control de un sistema operativo este se dirigen a poder Modificar el valor de este puntero si después cuando veamos cómo son los llamados a las interrupciones o a las llamadas de a sus rutinas si uno pudiera controlar Qué valor tiene esto o cambiarlo apuntarlo a otro lugar uno podría lograr que al retornar de una función o de una interrupción o de una rutina el microprocesador en vez de volver a lo que estaba haciendo vuelve al lugar que uno se le cante y en ese momento uno tomó control de ese sistema bueno acá están los
registros propósito general los abcd sdb y SP sumados a estos tenemos los registros de segmentos el cs empezaron a notar porque todo en el aire se va a ir todo el a es el registro acumulador típico para operaciones aritméticas es el registro base que se utiliza para la en direccionamiento este para la base el c es el contador en las operaciones de tipo de repetición como si fuera un Wilde pero en asembly este es la cantidad de veces que se cuenta algo que se hace algo suele estar guardado este registro y él es el de
datos y bueno tenemos el H tenemos el L tenemos el X que sumariza a los dos en 16 bits tenemos el e que sería para 32 y tenemos el r el 64 bits Entonces el racks sería el registro a en 64 bits el a x sería el registro a entre 32 bits el AX sería el registro en 16 bits el a L sería en 8 bits Bueno ella sería en 8 bits y cuando se lo pasó a 16 se lo dividió en ahl parte alta Jay parte baja la u rebatizaban en 16 bits como X
rebautizado en 32 bits como era x pero bautizó en el 64 bits como RX todos estos nombrecitos estos literales sirven en la PC uno poder inscribir a lh axcax RX según la cantidad de bits que uno quiera tomar del registro a todo esto que expliqué de r e a a h a L vale para el a para el B para el c y para el D después tenemos el si Surf que sería el puntero fuente o índice a la fuente de datos el dni destination index que sería el destino desde el origen al destino donde
se van a copiar el bp que sería el base o base Pointer puntero base y este sería el importantísimo el SP stack o pila Pointer contra la pila este este bueno como mencioné antes hay que tener un montón de Cuidado con su uso hay que súper aprender cómo funciona en todos los modos de funcionamiento del microprocesador suele haber diferencias o sea en 16 32 64 bits hay diferencias hay diferencias en los niveles de privilegio según el código que se ejecute sea de usuario sea del sistema la pila está en el lugar distinto lugar con lugar
distinto o acceda de direcciones de memoria distinta lo estos serían de propósito general los de segmento le dejo un tiempito para que esto lo puedan masticar y después yo lo voy a borrar y voy a seguir explicando los segmentos los de segmento esto viene de cuando el micro funcionaba en 16 bits los registros de segmento guardan la dirección de memoria de un segmento o algo de la dirección de un segmento para hacer un direccionamiento de segmento y desplazamiento estos registros son siempre 16 bits o sea por más que el micro funciona en 32 o en
64 siguen siendo de 16 vamos a montar los nombres el d y el s son los principales el c es el registro de código el code sé que dentro de css va a estar guardado un número de 16 bits que hace referencia al segmento de código o hacer referencia en el modo protegido a un descriptor hacia un numerito dentro de un array que describe el segmento o el bloque de bytes de memoria RAM donde está el código el D es el de Data el de datos las cosas que nosotros operemos en nuestro programa van a
estar la guardadas ahí ese registro se llama DS Data el segmento de datos Y como no puede ser de otra manera el ese es el stackman O sea que la pila tiene su propio segmento el segmento SS el modo real el SS son 16 bits que sirven como un direccionamiento de base más desplazamiento para poder Acceder al segmento de pila y en el modo protegido y modo 64 acceden es un Index dentro de la raid dentro del vector de descriptores de segmento donde con ese índice elegido está el descriptor de un segmento con sus permisos
inicio fin este tamaño lectura para arriba lectura para abajo etcétera etcétera etcétera esto siempre son de 16 bits tanto en 16 como el 32 como el 64 siguen siendo siempre registros de 16 bits con esto tenemos Entonces lo registro propósito general que están acá XL xs xlxsidimps y después tenemos los registros de segmentos csds sss Y estos otros son adicionales de propósito general fs y GS son más registros de segmento que uno puede utilizar Y por último pero siendo poco original lo menos importante están el registro de Flags que sería el de estado si en
algunos en otros microprocesadores son microcontroladores este se llama de estado porque lo que representa es el estado del funcionamiento del microprocesador en la arquitectura Intel en 16 bits se llama flash ahí se llama Flags como banderas no como en cada bits es como la bandera que se levanta y significa Che pasó tal cosa cuando esto sería en 16 16 bits cuando le agregamos la e es porque pasamos a 32 bits en el modo de funcionamiento 32 bits se llama Y bueno ya se me dejen a como viene la cosa con r es el nombre que
tiene el registro cuando el micro funcionan 64 bits este registro de Flags guarda cosas que representan el estado de funcionamiento del microcesor por ejemplo hay Flags para saber si la última operación matemática de 0 hay Flags para saber si la última operación matemática de un número negativo hay Flex para saber si las interrupciones están habilitadas o no están habilitadas hay Flags para saber si hubo carry o Hugo borrow en una operación matemática hay bits del registro de Flags que están siempre uno mismo valor el 0 o en uno eso se respeta de la vida arquitectura
microprocesadores y así Hay un montón de Flags para expresar distintas condiciones de funcionamiento de un microprocesador que uno puede controlar O sea que uno puede saber qué valor tienen para hacer algo en microprocesador o que cuando una instrucción se ejecute luego una después puede consultar el valor de esos bits y tomar una decisión al respecto y el más importante de todos anotarlo acá el instruction Pointer el instruction Pointer es el registro que guarda la dirección de memoria de la instrucción que hay que ejecutar es un registro de en los micros de 32 de 32 bits
en los registros en los micros de 16 o en el funcionario 16 de 16 o sea que en 32 bits le agregamos la e y en 64 bits le agregamos la r o sea que pasando a limpio en 16 bits lo llamamos instrucción Pointer en 32 bits lo salvamos extended Pointer e IP y en 64 bits lo llamamos r instrucción Pointer esto sería 16 esto sería el 32 y esto sería en 64 bits según el modo de funcionamiento que el micro tenga nosotros llamaremos ese registro cuando escribamos el código en lenguaje de estas distintas maneras
la punta esto a una dirección de memoria RAM que tiene la próxima instrucción a ejecutar bueno con esto vimos los los principales registros de un microprocesador de la arquitectura PC Recuerden que sean Intel o sean mmd los registros según la llaman igual porque las dos arquitecturas son son compatibles O si quieren es la misma arquitectura pero hecha por dos fabricantes distintos hay otro tipo de registro que corresponden a otro tipo de instrucciones de assembly que son propios de cada fabricante esto que estamos viendo son comunes a los dos son los más básicos de la arquitectura
y los que uno los nombrecitos los tendría que saber desde el vamos para poder escribir cualquier código si no sabemos el nombrecito y para qué sirve cada uno lo podemos escribir nada bueno hasta el próximo vídeo si les gustó les interesó este acuérdense de poner un like este suscribirse si es el primer vídeo que ven si son alumnos míos Bueno ya han visto que todo este kilombo lo explicamos en clase y esto les queda como como un repaso sino bueno pueden volver a preguntar como siempre cualquier duda este la pueden poner comentarios o si son
alumnos míos me preguntan en clase Bueno este hasta el próximo vídeo [Aplausos]