Voy a colocar una serie de ejercicios en ensamblador para proces de 32 bits, que en algun momento me los dejaron como tarea para la escuela. Los pongo en orden de dificultad, todos estan comentados pero debajo de cada uno pongo un breve explicacion de lo que hace el codigo.

Los trozos de codigo son subrutinas que pueden compilarse junto con una aplicacion en lenguaje c, la sintaxis del ensamblador es la de intel, omitiremos comentar acerca del prologo y el epilogo de las subrutinas.

Ejercicios Basicos

1
2
3
4
5
6
7
8
9
10
11
12
13
# TMax - regresa el mayor entero en complemento a dos
 
.globl tmax
	.type	tmax, @function
tmax:
	pushl	%ebp
	movl	%esp, %ebp
	movl 	$1, %eax	   #coloca 1 en LSB de eax
	shll	$31, %eax  #coloca un 1 en el MSB de eax
	notl	%eax         #invierte los bits de eax
	leave
	ret
	.size	tmax, .-tmax

Read the rest of this entry »