Solved ^^
Saludos
Saludos
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
section .text
global _start ;parida que necesita el linker xD
_start: ;entry point
pop ebx
pop ebx
pop ebx
pop ebx
mov eax,5
add ebx,ecx
mov edx,len ;Longitud del mensaje
mov ecx,msg ;Mensaje que vamos a escribir
mov ebx,1 ;file descriptor (stdout)
mov eax,4 ;llama de sistema numero 4 (sys_write)
int 80h ;call al kernel para que ejecute las sentencias
pushad ;Guardamos registros
pushfd ;Guardamos flags
mov eax, 3 ;sys_read(3)
mov ebx, 0 ;stdin (0)
mov ecx, esi ;Guardamos la string en esi
mov edx, 1 ;nnumero de bytes a leer
int 80h ;llamada al kernel de linux
popfd ;re-establecemos flags
popad ;re-establecemos registros
ret ;retorno para llamar al procedimiento
mov edx,length2 ;longitud del mensaje
mov ecx,esi ;mensaje a escribir
mov ebx,1 ;file descriptor (stdout)
mov eax,4 ;llamada a sistema numero 4 (sys_write)
int 80h ;linux esta aqui!
mov eax,1 ;llamada a sistema numero 1 (sys_exit)
int 80h ;llamada al kernel, linux acabará con la ejecución del proceso
section .data
msg db 'Hola mundo!',10 ;la primera cadena
mensaje2 db 'a',10
len equ $ - msg ;longitud de nuestra cadena
length2 equ $ - mensaje2
Cita de: Eternal Idol en 2 Abril 2010, 12:10 PMpero se supone que solo lo llamo una vez como es que escribe dos veces la cadena?
¿Como que se ejecuta tres veces el sys_write? ¿No sera que al olvidarte de poner el 0 terminador de cadena al escribir msg tambien sale mensaje2?
¿Probaste con 0Ah?
section .text
global _start ;parida para tener al linker contento
_start: ;entry point
mov edx,len ;colocamos en edx como primer argumento de la llamada a sys_write len
mov ecx,msg ;en ecx el segundo argumento que es una define double word (la cadena)
mov ebx,1 ;el file descriptor, el out standard
mov eax,4 ;llamada a sistema (sys_write)
int 80h ;llamamos al kernel para que ejecute
jmp segundaLlamada ;salto incondicional a otra seción de codigo
segundaLlamada:
mov edx,length2 ;lo mismo de antes
mov ecx,mensaje2 ;lo mismo
mov ebx,1 ;lo mismo
mov eax,4 ;mas de lo mismo
int 80h ;mas todavia
mov eax,1 ;llamamos a 1 (sys_exit)
mov ebx,0 ;codigo de salida, o eso he entendido
int 80h ;otra vez mi querido linux
section .data
msg db 'Hola mundo!',10 ;cadena
mensaje2 db 'Y buenos dias NASM',10
len equ $ - msg ;cadena
length2 equ $ - mensaje2
Cita de: Leo Gutiérrez. en 2 Abril 2010, 05:35 AMCharacter.toString();
Sí, mi problema es que quería hacer todo con la clase String, no sabía de StringBuffer.
Queda resuelto así:public class learn
{
public static void voltear(StringBuffer string)
{
StringBuffer temporal = new StringBuffer(string);
string.setCharAt(0, string.charAt(string.length() - 1));
for(int i = 1; i < string.length(); i++)
string.setCharAt(i, temporal.charAt(i - 1));
System.out.println(string);
}
public static void main(String []args)
{
StringBuffer string = new StringBuffer("HOLA");
System.out.println(string);
for(int i = 0; i < string.length(); i++)
voltear(string);
}
}
Gracias.
Cita de: Hacker_Zero en 1 Abril 2010, 21:14 PMclaro, pero cada numero hexadecimal representa un caracter no?
No son caracteres hexadecimales, son numeros hexadecimales, que se pasan a binario .
Saludos
Cita de: tragantras en 1 Abril 2010, 21:42 PMNo tenia ni idea xDDD
ips privadas de clase A:
A 10.0.0.0 hasta 10.255.255.255
Cita de: Alex@ShellRoot en 1 Abril 2010, 20:09 PMMi stack se ha desbordado xDDDDD
Lo dices por estò 10.211.55.140. Pwned! esta dentro de una red!