elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


  Mostrar Temas
Páginas: [1]
1  Programación / Programación General / Ejercicio Pascal en: 1 Enero 2012, 23:41 pm
Buenas noches, tengo un problema con un ejercicio de Pascal, el ejercicio consiste en escribir un programa que a partir de un número entero impar, forme figuras de este tipo:
Código:
Número = 5

5
  4
    3
  2
1

Tengo todo el ejercicio hecho, pero me falta una parte, si hay 5 filas y 5 columnas, ¿cuál sería el número de espacios en función de las filas, que debería poner?
Código
  1. PROGRAM P04_8;
  2. USES    CRT;
  3. VAR     N, i, j, k, cont: integer;
  4. BEGIN
  5.        Write('Introduce un numero positivo impar: ');
  6.        Read(N);
  7.  
  8.        FOR i := 1 TO N DO
  9.                cont := 0;
  10.                FOR j := 1 TO N DO
  11.                        BEGIN
  12.                                IF (j MOD 2 <> 0) AND (cont = 0) THEN
  13.                                        BEGIN
  14.                                                IF (i <> 1) THEN
  15.                                                        BEGIN
  16.                                                                k := ;   <------ k = Numero de espacios antes del numero, para la fila actual
  17.                                                                REPEAT
  18.                                                                        BEGIN
  19.                                                                                Write(' ');
  20.                                                                                k := k - 1;
  21.                                                                        END;
  22.                                                                UNTIL k = 0;
  23.                                                        END;
  24.                                                Write(N - i + 1);
  25.                                                cont := cont + 1;
  26.                                        END;
  27.                                IF (cont <> 0) THEN Write(' ');
  28.                        END;
  29.  
  30. READKEY;
  31. END.

No se si me he explicado bien.
2  Programación / ASM / [SOLUCIONADO]Problema con sufijos en ASM de AT&T en: 20 Diciembre 2011, 13:46 pm
Hola buenas, tengo un problema al ensamblar un programa escrito en ensamblador con sintaxis de AT&T en un ordenador Linux de 64 bits.
El problema es que al ensamblar con:
Código
  1. gcc -nostartfiles -g -o power power.s

Me da estos errores:
Código:
power.s: Assembler messages:
power.s:10: Error: operand type mismatch for `push'
power.s:17: Error: operand type mismatch for `pop'
power.s:24: Error: operand type mismatch for `push'
power.s:45: Error: operand type mismatch for `pop'

Si pongo pushb, pushw, pushl o pushq no se soluciona el problema.
A ver si me podéis ayudar.


Este es mi programa fuente:
Código
  1. .section .data
  2. .section .text
  3. .globl _start
  4. _start:
  5. push $3
  6. push $2
  7. call power
  8. add $8, %esp
  9.  
  10. push %eax
  11.  
  12. push $2
  13. push $5
  14. call power
  15. add $8, %esp
  16.  
  17. pop %ebx
  18. add %eax, %ebx
  19. mov $1, %eax
  20. int $0x80
  21.  
  22. .type power, @function
  23. power:
  24. push %ebp
  25. mov %esp, %ebp
  26. sub $4, %esp
  27.  
  28. mov 8(%ebp), %ebx
  29. mov 12(%ebp), %ecx
  30.  
  31. mov %ebx, -4(%ebp)
  32.  
  33. power_loop_start:
  34. cmp $1, %ecx
  35. je end_power
  36. mov -4(%ebp), %eax
  37. imul %ebx, %eax
  38. mov %eax,-4(%ebp)
  39. dec %ecx
  40. jmp power_loop_start
  41.  
  42. end_power:
  43. mov -4(%ebp), %eax
  44. mov %ebp, %esp
  45. pop %ebp
  46. ret
  47.  
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines