Lenguaje Ensamblador

Páginas: 4 (885 palabras) Publicado: 19 de junio de 2012
Cuadrado de un numero

0 .data
0 msg1_write_num: .asciiz "numero: "
0 msg2_resultado: .asciiz "cuadrado: "
0 msg3_enter: .asciiz "\n"
0 .text
0 main:
4 #printf("numero: ") ;
8 li $2 4
12 la $4 msg_write_num
16 syscall
20 # scanf("%i”,&r9) ;
24 li $2 5
28 syscall
32 # r3 = r9 * r9 ;
36 mul $3 $2 $2
40# printf("cuadrado: ") ;
44 li $2 4
48 la $4 msg_resultado
52 syscall
56 # printf("%i”,r3) ;
60 li $2 1
64 move $4 $3
68 syscall
72 #printf("\n") ;
76 li $2 4
80 la $4 msg_enter
84 syscall

Tabla de simbolos
Nombre | Direccion | Segmento |
main | 0 | T |
Msg1 | 0 | D |
Msg2 | 0 | D |
Msg3 | 0 | D |Tabla ESD
Nombre | Identificador | Tipo | Direccion | Longitud |
.data | 01 | DSD | 0 | 16 |
.text | 02 | DST | 0 | 84 |
main | - | DL | 0 | - |

Suma 2 valores
0 .data
0 numero1:.word 30
0 numero2: .word 30
0 mensaje: .asciiz "\nSuma de numero1 y numero2 :"
0 .text
0 .globl main
0 main:
4 lw $t0 numero1 #Cargamos el valor de numero1 en el registro $t0
8 lw $t1numero2 #Cargamos el valor de numero2 en el registro $t1
12 subu $sp $sp 4 #Desplazamos a la siguiente posición menor de la pila (CRECE)
16 sw $t0 4($sp) #Almacenamos $t0 en la primera posición libre20 subu $sp $sp 4 #Desplazamos a la siguiente posición menor de la pila (CRECE)
24 sw $t1 4($sp) #Almacenamos $t1 en la primera posición libre

28 jal suma #Función suma
32 move $t0 $v0#Salvamos el resultado de la función en $t0 para imprimirlo
36 luegola $a0 mensaje #Mensaje
40 li $v0 4
44 syscall #print_string
48 move $a0 $t0 #Restauramos en $a0 el resultado de la suma52 li $v0 1
56 syscall #print_int
60 li $v0 10
64 syscall #end
suma:
68 lw $t0 4($sp) #Recuperamos el contenido de la última posición ocupala de la pila
72 addu $sp $sp 4 #Desplazamos...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Lenguaje ensamblador
  • Lenguaje ensamblador
  • Lenguaje ensamblador
  • Lenguaje ensamblador
  • Lenguaje ensamblador
  • Lenguaje ensamblador
  • Qué es el lenguaje ensamblador
  • Lenguaje ensamblador

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS