Ir al contenido


Foto

OPCodes


  • Por favor identifícate para responder
23 respuestas en este tema

#21 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 17 diciembre 2008 - 04:21

Bueno, seguimos jugando con el codigo.



delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. var
  3.   result: integer;
  4. begin
  5. asm
  6. Mov eax, 183C3C64h;
  7. movzx eax, al;   // aqui nos quedamos con 'AL' solamente en el acumulador(64)  ?????????????????????????????????
  8. Mov result, eax;
  9. end;
  10. edit1.text:=inttostr(result); // aqui nos muestra AL en decimal (100)  ??????????????????????????????
  11. end;



Que les parece muchachos , ¿Se animan?

Un Saludo.


al ?... AL ?... me perdí totalmente  :$
  • 0

#22 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 17 diciembre 2008 - 04:47


Bueno, seguimos jugando con el codigo.



delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. var
  3.   result: integer;
  4. begin
  5. asm
  6. Mov eax, 183C3C64h;
  7. movzx eax, al;   // aqui nos quedamos con 'AL' solamente en el acumulador(64)  ?????????????????????????????????
  8. Mov result, eax;
  9. end;
  10. edit1.text:=inttostr(result); // aqui nos muestra AL en decimal (100)  ??????????????????????????????
  11. end;



Que les parece muchachos , ¿Se animan?

Un Saludo.


al ?... AL ?... me perdí totalmente  :$


Hola Fena.
            al o AL  son los 8 bits menos significativos de eax.
"eax" es el registro acumulador de 32 bits y que se divide de la siquiente forma: los primeros 8 de la derecha se llama "AL" los que le siguen se llaman AH y la union de estos dos AL y AH que son dos bytes=16 bits o un word se llama AX. en pocas palabras el registro acumulador de un Intell de 32 bits se llama eax y la mitad derecha o los 16 bits menos significativos se llaman AX, que a su vez se pueden dividir en dos partes AH y AL.
Si queremos manipular 8 bits podemos invocar a "AL", si usaremos 16 bits entonces AX y si son los 32 entonces EAX.

No se si me explique bien?

Un Saludo.

#23 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 17 diciembre 2008 - 04:59



Bueno, seguimos jugando con el codigo.



delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. var
  3.   result: integer;
  4. begin
  5. asm
  6. Mov eax, 183C3C64h;
  7. movzx eax, al;   // aqui nos quedamos con 'AL' solamente en el acumulador(64)  ?????????????????????????????????
  8. Mov result, eax;
  9. end;
  10. edit1.text:=inttostr(result); // aqui nos muestra AL en decimal (100)  ??????????????????????????????
  11. end;



Que les parece muchachos , ¿Se animan?

Un Saludo.


al ?... AL ?... me perdí totalmente  :$


Hola Fena.
            al o AL  son los 8 bits menos significativos de eax.
"eax" es el registro acumulador de 32 bits y que se divide de la siquiente forma: los primeros 8 de la derecha se llama "AL" los que le siguen se llaman AH y la union de estos dos AL y AH que son dos bytes=16 bits o un word se llama AX. en pocas palabras el registro acumulador de un Intell de 32 bits se llama eax y la mitad derecha o los 16 bits menos significativos se llaman AX, que a su vez se pueden dividir en dos partes AH y AL.
Si queremos manipular 8 bits podemos invocar a "AL", si usaremos 16 bits entonces AX y si son los 32 entonces EAX.

No se si me explique bien?

Un Saludo.


Perfectamente... es cierto L por Low H por High, no hice la asociación...  :$

Seguimos aprendiendo  :D (y recordando)
  • 0

#24 Guest_Jose Fco_*

Guest_Jose Fco_*
  • Visitante

Escrito 18 diciembre 2008 - 05:02

Es interesante y siempre me a gustado conocer como es el lenguaje maquina de los micros que trabajo.De hecho aprendi micros programando Hex(OpCodes) Luego pues en asm y mas tarde ya use algun que otro entorno.
En el caso de los CPU para PC, nunca estudie al respecto y pues me llama la atencion pues conocer un poco al respecto.Nunca esta de mas conocer un poco de cual es el lenguaje que en un final es el unico que las maquinas entienden.


Un Saludo.

PD:Parece que no se animan los muchachos a entrar en esas aguas. ;)




IP.Board spam blocked by CleanTalk.