Lenguaje Ensamblador

Escuela Superior Politécnica de Chimborazo Facultad de Informática y Electrónica Escuela de Ingeniería Electrónica en Co

Views 207 Downloads 0 File size 161KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Escuela Superior Politécnica de Chimborazo Facultad de Informática y Electrónica Escuela de Ingeniería Electrónica en Control y Redes Industriales Nombre: Alex R. Orozco G.

Curso: 5to “A”

Código:

Fecha: 11/01/2019

889

Lenguaje Ensamblador El ensamblador (en inglés, Assembler o Assembly, que se suele abreviar como Asm) es un lenguaje de programación de ordenadores de bajo nivel (muy cercano al código máquina), por lo que es específico de cada tipo de ordenador (básicamente, de cada procesador). Es más difícil de aprender que los lenguajes de alto nivel, resulta mucho menos legible, y prácticamente no es portable, pero si se domina, es el que dará la mayor velocidad a nuestro programa. 

Operaciones en Lenguaje Ensamblador  .model small

.stack 64 .data ;declarando variables globales numero1 db 0 numero2 db 0 suma db 0 resta db 0 multiplicacion db 0 division db 0 modulo db 0 msjn1 db 10,13, "Ingrese el primer numero= ",'$';ingrese n1 msjn2 db 10,13, "Ingrese el segundo numero= ",'$';ingrese n2 ;mensaje para mostrar los resultados msjnS db 10,13, "La suma es= ",'$' msjnR db 10,13, "La resta= ",'$' msjnM db 10,13, "La Multiplicacion es= ",'$' msjnD db 10,13, "La division es = ",'$' msjnMod db 10,13, "El modulo es = ",'$' .code begin proc far ;direccionamiento del procedimiento mov ax, @data mov ds,ax ;solicitar del teclado numero 1 mov ah, 09 lea dx, msjn1

int mov int sub mov

21h ah, 01 21h al, 30h numero1,al

;solicitar del teclado numero 2 mov lea int mov int sub mov

ah, 09 dx, msjn2 21h ah, 01 21h al, 30h numero2,al

;operaciones aritmeticas ;SUMA mov al,numero1 add al,numero2 mov suma,al ;RESTA mov al,numero1 sub al,numero2 mov resta,al ;MULTIPLICACION mov al,numero1 mul numero2 mov multiplicacion,al ;DIVISION mov al,numero1 div numero2 mov division,al ;MODULO mov al, numero1 div numero2 mov modulo,ah ;Mostrar los mensajes de los resultados ;mostrando la suma mov ah,09 lea dx,msjnS int 21h mov dl,suma add dl,30h mov ah,02 int 21h ;mostrando la resta mov ah,09 lea dx,msjnR int 21h mov dl,resta

add dl,30h mov ah,02 int 21h ;mostrando la multiplicacion mov ah,09 lea dx,msjnM int 21h mov dl,multiplicacion add dl,30h mov ah,02 int 21h ;mostrando la division mov ah,09 lea dx,msjnD int 21h mov dl,division add dl,30h mov ah,02 int 21h ;mostrando el modulo mov ah,09 lea dx,msjnMod int 21h mov dl,modulo add dl,30h mov ah,02 int 21h ;cierre del programa mov ah,4ch int 21h end

begin endp

Sumario de los operadores de ensamblador             Operadores unarios - 1           + Suma unaria. BITNOT (~) NOT de bit. BYTE2 Segundo byte. BYTE3 Tercer byte. DATE Fecha / Hora HIGH Byte alto. HWRD Word alto. LOW Byte bajo. LWRD Word bajo. NOT (!) NOT lógico. SFB Comienzo de segmento. SFE Fin de segmento. SIZEOF Tamaño de segmento.

-

Resta unaria.

          Operadores de desplazamiento y de aritmética de multiplicación - 3

           * / MOD (%) SHL ()

Multiplicación. División. Módulo. Desplazamiento lógico hacia la izquierda. Desplazamiento lógico hacia la derecha.

         Operadores aritméticos de suma - 4

      + -

Suma Resta

      Operadores AND - 5

      AND (&&) BITAND (&)

AND lógico. AND de bit.

            Operadores OR - 6

     BITOR ( | ) BITXOR ( ^ ) OR ( | | ) XOR

OR lógico de bit. OR exclusiva de bit. OR lógico. OR lógico exclusiva.

         Operadores de comparación – 7

         EQ, =, = = GE, >= GT, > LE,