Menú

Mostrar Mensajes

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ú

Mensajes - Yurix

#11
Hola Carola , tengo un link con la segunda edicion >
http://www.4shared.com/dir/2424921/af51d410/sharing.html
Busca dentro de los books/asm ingles/ ...

Puede serte útil .
---------
MOD<
Esta en Google Books>
http://books.google.com.cu/books?id=8iR-pBg2aAwC&pg=PA1&dq=Assembly+Language+Step-By-Step+Programming+With+DOS+And+Linux&cd=1#v=onepage&q=&f=false
Solo te falta descargarlo .....  :silbar:
---------------
MOD<
Nota >Ya lo estoy descargando , el "problema" es que son archivos separados .png , pero bueno algo es algo . Cuando lo termine pongo el link
Chao
#12
ASM / Re: De HEX (x\09x\82\x76) a ASCII>
15 Diciembre 2009, 18:36 PM

Si , eso es cuando tienes el compilador , pero en el caso que desees algun tipo de convercion despues de compilar , puede usar este codigo.
#13
ASM / Re: De HEX (x\09x\82\x76) a ASCII>
15 Diciembre 2009, 16:53 PM

Si , es muy fácil que acepte la H y &

Solo debes de saber el numero hexadecimal de esos caracteres
48 y 26 , entonces agregarlo es muy fácil.:

Código (asm) [Seleccionar]
noreturn:
hachekarmany:
cmp al,048h  ; La "H" para karmany
jnz ampersand
jmp finmal

ampersand:
cmp al,026h  ; La "&" para karmany
jnz continuamos
jmp finmal

continuamos:


---------
Solo debes de agregar ese código después de la etiqueta  noreturn:
Ves que fácil es ASM .

Se me olvido decir que el codigo acepta minusculas o mayusculas , no importa como lo escribas. Fc 1A 2a etc..


#14
ASM / De HEX (x\09x\82\x76) a ASCII>
10 Diciembre 2009, 19:01 PM

Es decir como convertir una cadena de texto que representa numeros hexadecimales a su valor real , este codigo acepta cualquiera de las formas Ej

"x\09x\82\x76"
"0x68, 0x6F, 0x6C, 0x61, 0x20"

incluso una mescla de ellas EJ>
Código (asm) [Seleccionar]
"0x68, 0x6F,\x55\x8B\xEC\x32\xD2\x83\xEC\x10\xC6\x45\xF1\x63\xC6\x45\xF2\x61"


ahex2hex Proc datos:dword,destino:dword,long:dword

mov edx,[datos]

repetimos:

xor eax,eax
mov ecx,2

mmmms:
mov al,byte ptr ds:[ecx+edx-1]
;;;;;;;;;;;;;;;;;;;;Plugin para ignorar caracteres (ignore "space" "x" "," "\r\n" "\" "/")
;;;; This is a plugin , you can delete.

cmp al,020h ; El espacio , de encontrarse se ignora
jnz noespace
jmp finmal

noespace:
cmp al,02Ch ; La ","
jnz nocoma
jmp finmal

nocoma:
cmp al,078h ; The "x"
jnz noequis
jmp finmal

noequis:  ;Chequeamos si hay una nueva linea , Now we check for newline (for windows)
cmp al,05Ch  ; The "\"
jnz barra
jmp finmal

barra:
cmp al,02Fh  ; The "/"
jnz newline
jmp finmal

newline:
cmp al,00Dh  ; The "\r"
jnz noreturn
jmp finmal

noreturn:

cmp al,00Ah  ; The "\n"
jnz googC

finmal:
inc edx
jmp repetimos  ; Repetimos
;;;;;;;;;;;;;;;;;;;;;;Plugin -para ignorar caracteres (-to ignore some chars)
googC:


sub al,041h
jc  negativo; Si es menor que CERO
add al,0Ah
jmp positivo

negativo:  ; Le sumamos 17
add al,011h
positivo: ; Si es positivo , solo lo corremos
shl eax,8
loop mmmms

;;;; Arreglo final (ver en un Dbugger)
shr eax,8
xchg al,ah
shl al,4
shr eax,4
;;;;;;;;;;;;;;

mov ecx,dword ptr ds:[destino]
mov [ecx],al

dec long
jz salimos

inc edx
inc edx
inc dword ptr ds:[destino]
jmp repetimos

salimos:
ret
ahex2hex endp


Cualquier duda me dicen !!.





#15
ASM / Re: Dudas sobre dependecia de ensamblador
4 Diciembre 2009, 19:32 PM

Hola , con respecto a la portabilidad hay varias opiniones , si aprendes a programar para x86 no tendras que preocuparte mucho ya que es una arquitectura super usada (INTEL) , primero 32 bits y despues aprende 64bits (eso pienso) , sobre los SOs y las diferentes formas de llamar una funcion fast call etc ... leer un poco a Agner Fog te sacara de algunas dudas.

Que te estan dando en clases 8085?
Bye

#16
ASM / Re: [?]Incognitas, en assembler u.u
4 Diciembre 2009, 18:33 PM

Hola , yo simpre uso DS:  y como te explique para las operaciones con la pila uso SS:
Confieso que realmente no se cual puede "ser mejor"?

Saludos
#17
ASM / Re: [?]Incognitas, en assembler u.u
4 Diciembre 2009, 18:08 PM
Hola man:

fs:nothing , hasta donde se espara que el ensamblador te permita usar FS: , en masm tienes que ponerlo , si no lo haces entonces puedes usar los opcodes directamente EJ: db 90


Se usa mov ecx para la longitud de lo que quieres comparar ,
CLD limpia el flag de direccion , se usar por "seguridad" para que la comparacion con repe cmpsb sea en la direccion correcta, puedes quitarlo si no hay ninguna manipulacion con el flag D

repe cmpsb no tiene parametros porque esa instruccion siempre usa esi edi para comparar , es como el loop que decrementa solo a ECX no a mas nigun registro.

Olly lo desambla de esta forma:
00401009      F3:A6         repe    cmps byte ptr es:[edi], byte ptr ds:[esi]

Pero para usarlo con masm debes poner  : repe cmpsb , no se cual uses?

"pero en ese codigo dan porsentado que va a comparar bit a bit [esi] y [edi]?"
Bueno es mejor pensar que compara byte a byte ya que dice cmpsB  << esa B indica que compara byte por byte , si lo cambias por W compara de dos en dos WORD *(dos bytes) y D (dword) son 4 bytes.Mas nada

MOV DWORD PTR DS:[40207C],EAX
Mueve el contenido de EAX *(XXXX XXXX) a el espacio de memoria entre los corchetes []

EAX y todos los demas registros que terminan en X se subdividen en  una zona alta y baja y otra que incluye a estas dos , ejemplo

eax >> ax >> ah >>al

AX es una palabra o word , ah y al son bytes

MOV byte PTR DS:[40207C],al

Al en este caso es el extremo derecho del registro eax.

Ademas estan >
EAX
ECX >> cx >>ch y cl
EDX >> asi .....
EBX ....

-------

Los registros de segmento son> ES CS SS DS FS GS

Te recomiendo que uses OLLY

Realmente no se porque usan SS en ese caso , puede ser para despistar un poco (no se aquien?) , otra explicacion en otro caso !! puede usarse para ahorrar espacio en los casos en que se quiera trabajar con la pila Ej:

00401009       890424              mov     dword ptr SS:[esp], eax
0040100C     64:890424           mov     dword ptr FS:[esp], eax

Como ves uno es mas grande que otro , si estas haciendo una Shell puede que sea mejor usar SS cuando trabajas con la pila , esa es una explicacion al tema.

NoxOner no es molestia preguntar !!
Si lo es responder !! :xD

Animo y sigue preguntando


Yurix
El macho alfa


#18
ASM / Re: Problema con la pila
4 Diciembre 2009, 17:10 PM
Hola B1 , ademas debes de tener en cuenta el alinamiento de la pila (debe ser divisible por 16) . Ej de intrucciones que la pueden desajustar (pushaf) desbes usar (pushafd)

00410070 >    9C            pushfd

Si usas Masm y pones pushaf la desajusta.

Ademas si estas usando una laptop desconectada de el enchufe corres el riesgo de que la pila (si usas mucho el push pop) se descargue , por eso te aconsejo que no uses la pila !!
#19

Eso , es como en un banco o como en la vida !  unos salen y otros entran  ;)

No es molestia para mi compartir con los demas la caca que se de asm!  es mi deber como macho alfa  :xD
#20
ASM / Re: Pregunta acerca de S.Os
2 Diciembre 2009, 18:05 PM
puede que te sea util>
http://es.wikipedia.org/wiki/SOS
:xD