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ú

Temas - Swicher

#1
Hola a todos, estoy convirtiendo este código en Python en una librería en Assembler y esto es lo que tengo hasta ahora:

Código (asm) [Seleccionar]
format PE GUI 4.0 DLL
entry DllEntryPoint

include 'win32a.inc'

section '.code' code readable executable

struct SHELLEXECUTEINFO
    cbSize dd ?
    fMask dd ?
    hwnd dd ?
    lpVerb dd ?
    lpFile dd ?
    lpParameters dd ?
    lpDirectory dd ?
    nShow dd ?
    hInstApp  dd ?
    lpIDList  dd ?
    lpClass dd ?
    hKeyClass  dd ?
    dwHotKey dd ?
    hIconOrMonitor  dd ?
    hProcess  dd ?
ends

proc DllEntryPoint hinstDLL,fdwReason,lpvReserved
        mov     eax,TRUE
        ret
endp

proc ShowProp filepath
    mov [sei.cbSize], sizeof.SHELLEXECUTEINFO
    mov [sei.fMask], SEE_MASK_NOCLOSEPROCESS or SEE_MASK_INVOKEIDLIST
    mov [sei.lpVerb], prop
    mov ecx, [filepath]
    mov [sei.lpFile], ecx
    mov [sei.nShow], 1
    invoke ShellExecuteEx, sei
    ret
endp

section '.data' data readable writeable

SEE_MASK_NOCLOSEPROCESS = 0x00000040
SEE_MASK_INVOKEIDLIST = 0x0000000C
prop db "properties",0
sei SHELLEXECUTEINFO

section '.idata' import data readable writeable

library shell32,'SHELL32.DLL'
import shell32,ShellExecuteEx,'ShellExecuteEx'

section '.edata' export data readable

  export 'ShowProperties.dll', ShowProp, 'ShowProp'

section '.reloc' fixups data discardable


pero el mismo no compila. Al hacer unas pruebas (esto es, comentar lineas hasta que no me aparecieran mas errores) descubri que el problema esta en las lineas 41 y 42 al intentar asignar cadenas a los campos lpVerb y lpFile del struct SHELLEXECUTEINFO y sin importar como lo haga, el compilador siempre muestra algun error. ¿Que estoy haciendo mal? Por cierto, estos son los errores que me aparecen:






LineaModificaciónError que aparece
41mov[sei.lpVerb],propinvalid use of symbol.
41mov [sei.lpVerb], "properties"value out of range.
42mov [sei.lpFile], filepathinvalid value.
37 y 42proc ShowProp filepath* y mov [sei.lpFile], filepath (con y sin * al final)extra characters on line. (en endp)


Edit varios días después: Ya arregle ese problema que aparecía al ejecutar la función (eso de "access violation writing ..."). Abajo explico como lo logre.
#2
Estaba pensando en hacer este post en la sección de software, pero, creo que aquí queda mejor (sino es así, entonces que algún administrador lo mueva a la sección de software). Como actualmente estoy comenzando a ver ensamblador en mi universidad, me acorde de este programa que tenia guardado hace tiempo y ya que las paginas desde donde se podía bajar el programa están fuera de linea, pensé en compartir este programa con todos (quizás le sirva a alguien mas).

SimuProc es básicamente un Simulador de un procesador hipotético de 16 bits con el cual se puede aprender las nociones básicas para comenzar a programar en ensamblador. El programa funciona mostrando todo el proceso interno de ejecución del programa a través de cada ciclo del procesador. Aunque el programa sea viejo (la ultima versión parece ser del 2004), no he tenido problemas al usarlo en Windows XP SP3 y según este mensaje del antiguo libro de visitas del programa, también funciona en Linux mediante Wine.

Enlace de descarga (en esa pagina también hay información extra sobre el programa que puede ser de utilidad): http://www.hotshare.net/es/file/165516-300768800a.html

También incluí algunos programitas de ejemplo, los cuales son:

  • De la pagina del autor:

    • Factorial (encuentra el Factorial de un numero)
    • Paridad (Calcula la Paridad de un Numero)

    • Serie Fibonacci (encuentra los números de la serie de Fibonacci hasta n)
  • Los que encontré aquí:

    • Ecuación de 2° grado (no se si funciona bien)
    • Ordenador de números
    • Calculadora con pseudomenus


Ventana principal del programa


Editor incorporado en el programa


Salida que genera la calculadora con pseudomenus


Ventana principal del programa en medio de una simulación

Por ultimo, sino pueden abrir alguno de los programas directamente, intenten abrirlo primero desde el editor que el programa tiene incorporado, y desde allí lo envían a la memoria.
#3
Electrónica / ¿Alguien tiene una imagen de esto?
7 Septiembre 2008, 12:31 PM
Se trata de una unidad de limpieza del toner de las fotocopiadoras. Es que estuve buscando eso y no he encontrado algo útil. Resulta que tengo una fotocopiadora Ricoh FT 3713 con el error E70, buscando encontré que eso se debe a que el colector de toner de la unidad de limpieza esta lleno, por lo que hay que limpiarlo. El problema es que no se cual es ese colector y, ademas, el servicio técnico se esta tardando mucho en venir y necesitamos usar la maquina, por eso pregunto (ademas, si pudiera saber cual es ese colector, podría sacarlo y llevarlo con alguien para que la limpie).
#4
No se si a alguien mas le haya pasado lo mismo que a mi, pero, resulta que cuando en el navegador Kmeleon quiero responder algún post del foro y presiono el enlace "Insertar cita", esta no aparece. ¿Alguien sabe a que se debe esto?. Aclaro que con el Firefox no tengo problemas, por lo que creo que es algo que afecta únicamente a Kmeleon.
#5
Resulta que anoche, cuando entre al foro, me apareció todo en modo texto (sin imágenes, ni nada, solo texto sobre un fondo blanco) y no me aparecía el enlace para ingresar con mi nombre de usuario. Yo me preguntaba, ¿porque el foro esta asi?. Poco después descubrí que deje el wmlbrowser activado (WML on), cuando lo puse a WML off, se me soluciono el problema.

Resulta que habitualmente utilizo el Firefox para navegar por internet y tengo instalado la extensión wmlbrowser (para ver paginas hechas en WAP sin necesidad de un celular) y para activarlo y desactivarlo fácilmente tengo en la barra de navegación el menú WML mode, para activar y desactivar el modo de navegación fácilmente.

Estas son algunas sugerencias que se me han ocurrido:
Estaba pensado, para evitar esto, que el servidor del foro podría reconocer si un usuario que visualiza la pagina esta usando Firefox (y de ser así, si esta usando la extensión wmlbrowser) para evitar que el usuario visualice accidentalmente el modo WAP (aunque tenga el WML mode en on) o que aparezca un cuadro de dialogo que pregunte al usuario en que modo desea ver la pagina (WAP o HTML). O sino se podría hacer lo mismo que en Wikipedia; ya que en la Portada (http://es.wikipedia.org/wiki/Portada) aparece un enlace que dice Acceso WAP (http://wapedia.mobi/es).