martes, 22 de octubre de 2019

Lenguaje Ensamblador NASM



section .text

global _start

_start:

    mov     eax, [x]
    sub     eax, '0'
    mov     ebx, [y]
    sub     ebx, '0'
    add     eax, ebx
    add     eax, '0'

    mov     [sum], eax

    mov     ecx, msg
    mov     edx, len
    mov     ebx, 1
    mov     eax, 4
    int     0x80

    mov     ecx, sum
    mov     edx, 1
    mov     ebx, 1
    mov     eax, 4
    int     0x80

    mov     eax, 1
    int     0x80

section .data
    x db '5'
    y db '3'
    msg db  "sum of x and y is "
    len equ $ - msg

segment .bss

    sum resb 1




Definición:
Los registros del procesador son una porción de memoria ultrarrápida, se emplean para:
• Controlar instrucciones en ejecución. • Manejar direccionamiento de memoria. • Proporcionar capacidad aritmética.

• Los registros son espacios físicos dentro del microprocesador con capacidad de 4 bits hasta 64 bits dependiendo del microprocesador que se emplee. • Los bits, por conveniencia, se numeran de derecha a izquierda: (15,14,13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0).

Tipos de Registros
Los registros se dividen en:
• • • • • • Registros de segmento. Registro de apuntador de instrucciones. Registros apuntadores. Registros de propósito general. Registros índice. Registro de banderas.

Registros de segmento
Tiene 16
 …ver más… 
REGISTRO
Registro AX Registro BX Registro CX Registro DX

PROPÓSITO
Acumulador principal Registro base Registro contador Registro de Datos

• Los procesadores 80386 y posteriores permiten el uso de todos registros de propósito general, más sus versiones ampliadas de 32 bits; EAX, EBX, ECX y EDX.

Registros Índice.
Los registros SI y DI están disponibles para direccionamientos indexados y para sumas y restas. Que son la operaciones de punta.

Registros de Índice
REGISTRO PROPÓSITO
El registro índice de 16 bits es requerido por algunas operaciones con cadenas (de caracteres). En este contexto, el SI está asociado con el registro DS. Los procesadores 80386 y posteriores permiten el uso de un registro ampliado a 32 bits, el ESI.

Registro SI

Registro DI

El registro índice destino también es requerido por algunas operaciones con cadenas de caracteres. En este contexto, el Di está asociado con el registro ES. Los procesadores 80386 y posteriores permiten el uso de un registro ampliado a 32 bits, el EDI.

Registros de Banderas.
Sirven para indicar el estado actual de la máquina y el resultado del procesamiento. Las instrucciones que piden comparaciones y aritmética cambian el estado de las banderas, algunas cuyas instrucciones pueden realizar pruebas para determinar la acción siguiente.

No hay comentarios:

Publicar un comentario