Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: jim12328 en 11 Mayo 2014, 20:13 pm



Título: abrir bandeja de cd rom con ensamblador
Publicado por: jim12328 en 11 Mayo 2014, 20:13 pm
hola tengo este código
Código
  1. .model small
  2. .stack
  3. code segment para
  4. assume cs:code,ds:code
  5. org 100h
  6. start:
  7. mov cx,0h
  8. unlock:
  9. mov ah,45h
  10. mov al,01h
  11. mov dl,cl
  12. int 13h
  13. eject:
  14. mov ah,46h
  15. mov al,0
  16. mov dl,cl ;s.o.
  17. int 13h
  18. cmp ah,0b1h
  19. je unlock
  20. inc cl
  21. jnz unlock
  22. mov ax,4c00h
  23. int 21h
  24. code ends
  25. end start
  26.  
  27.  
 
supuestamente abre la bandeja del cd rom, compila y hasta ahí todo bien
pero al final no abre la bandeja alguien me puede decir que es lo que falta para que pueda abrir la bandeja de verdad me urge alguien que me pueda ayudar


Título: Re: abrir bandeja de cd rom con ensamblador
Publicado por: ivancea96 en 12 Mayo 2014, 19:08 pm
Te pongo directamente el código que usa uno de los ejemploos de FASM:

Código
  1. format PE GUI 4.0
  2.  
  3. include 'win32a.inc'
  4.  
  5. ; no section defined - fasm will automatically create .flat section for both
  6. ; code and data, and set entry point at the beginning of this section
  7.  
  8. invoke MessageBoxA,0,_message,_caption,MB_ICONQUESTION+MB_YESNO
  9. cmp eax,IDYES
  10. jne exit
  11.  
  12. invoke mciSendString,_cmd_open,0,0,0
  13. invoke mciSendString,_cmd_eject,0,0,0
  14. invoke mciSendString,_cmd_close,0,0,0
  15.  
  16. exit:
  17. invoke ExitProcess,0
  18.  
  19. _message db 'Do you need additional place for the beer?',0
  20. _caption db 'Desktop configuration',0
  21.  
  22. _cmd_open db 'open cdaudio',0
  23. _cmd_eject db 'set cdaudio door open',0
  24. _cmd_close db 'close cdaudio',0
  25.  
  26. ; import data in the same section
  27.  
  28. data import
  29.  
  30. library kernel32,'KERNEL32.DLL',\
  31. user32,'USER32.DLL',\
  32. winmm,'WINMM.DLL'
  33.  
  34. import kernel32,\
  35. ExitProcess,'ExitProcess'
  36.  
  37. import user32,\
  38. MessageBoxA,'MessageBoxA'
  39.  
  40. import winmm,\
  41. mciSendString,'mciSendStringA'
  42.  
  43. end data
  44.  

Si no entiendes algo, solo pregunta.


Título: Re: abrir bandeja de cd rom con ensamblador
Publicado por: simorg en 12 Mayo 2014, 20:50 pm
Tema duplicado:

http://foro.elhacker.net/asm/ayuda_con_este_codigo_en_ensamblador-t414362.0.html;msg1941716#new


Tema cerrado.