jun
27
2012

Programación en Lenguaje ensamblador | Dividir dos números

Descarga el contenido del Artículo en PDF Download PDF

Dividir dos número en Lenguaje Ensamblador

Este programa realizado en ensamblador hace una división de un número por otro, no obstante en vez de hacer una división normal hará un bucle con el que irá haciendo restas iterativas para conocer así el cociente y el resto de la división.

Este sería el código hecho en C que queremos realizar en lenguaje ensamblador.

1
2
3
4
5
6
7
8
9
10
11
12
13
#define constante 14                  
long dividendo = constante;                            
long divisor  = 4;                                     
long cociente = 0;                                        
long resto   = 0;            
 
int main() {                                              
  resto = dividendo;                                      
  do {                                                    
    resto = resto - divisor;                              
    cociente++;                                           
  } while (resto >= divisor);                             
}

Esta sería el subprograma para dividir dos números hecho en lenguaje ensamblador:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
  constante  equ  14                               
section .data                                     
  dividendo dq constante  
 
  divisor  dq 4                                   
  cociente dq 0                                   
  resto   dq 0          
 
section .text            
  global main            
 
  main:                  
 
    mov rax, [dividendo]                           
    mov rcx, 0           
 
    bucle:                                        
      sub rax, [divisor]                          
      inc rcx                                     
      cmp rax, [divisor] 
      jge bucle          
 
    mov [resto], rax                             
    mov [cociente], rcx                   
 
  mov rax,1                                     
  mov rbx,0                                      
  int 80h

Artículos relacionados

Related Posts

Acerca del Autor:

Leave a comment


+ nueve = 15

Recientes

  • Diseño de Pagina Web: Muy buenoooo!!!!! Recicler comment
  • Albert: Gracias por contestar, la verdad es que ya lo suponía que seria ese el problema, supongo que si el otro...
  • MMane: El problema puede venir por ahí, prueba a reescribir los artículos! suerte!
  • Albert: Buanas, Gracias por contestar primero de todo. Haber el contenido ha variado pero 4 o 5 paginas eran iguales,...
  • admin: Hola, Si tienes dos dominios diferentes y el contenido ha variado no deberías tener problemas para indexarlo,...
Cerrar Ayúdanos compartiendo
Compartiendo nos ayudas a mantener el sitio, haz click en unos de estos botones.
Mod2.4