Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/06/2013, 03:15
Avatar de dontexplain
dontexplain
 
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 11 meses
Puntos: 127
Respuesta: Assembler, ejercicio práctico.

Primero: Desconozco qué compilador usas ni qué sintaxis.

En una primera instancia, los ensambladores de alto nivel como nasm permiten hacer cálculos de tamaño de cadena directamente.

Suponiendo esto en el segmento de datos:

Código Ensamblador:
Ver original
  1. section .data
  2. texto "    aoaisjdoasijdoioasijdoaijoianodisndoi2jogikogikoik",'$'
  3. %strlen textolength texto

En base a eso, la dirección última sería ds:[1000+textolength]

Código Ensamblador:
Ver original
  1. scan:
  2.     .loop:
  3.     mov ecx, texto+ebx
  4.     add ebx, 0x01
  5.     cmp ecx, 0x20 ; espacio
  6.     je balancer.loop
  7.     cmp ecx, eax
  8.     je scan.loop
  9.  
  10. balancer:
  11.     .loop

La idea es dos labels, uno para hacer el escaneo y otro para el balanceo....

Desarrolla la idea.
__________________
21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor