.model small
.stack
code segment para
assume cs:code,ds:code
org 100h
start:
mov cx,0h
unlock:
mov ah,45h
mov al,01h
mov dl,cl
int 13h
eject:
mov ah,46h
mov al,0
mov dl,cl ;s.o.
int 13h
cmp ah,0b1h
je unlock
inc cl
jnz unlock
mov ax,4c00h
int 21h
code ends
end start
hola tengo este código que se supone que abre la bandeja del cd rom, compila bien pero al final no hace nada, alguien que me pueda decir que le hace falta para abrir la bandeja del cd rom por favor alguien que me pueda ayudar
¿Un S.O. arcaico de 16 bits como MS-DOS? Depuralo con debug para ver que retorna cada interrupcion de la BIOS ...
http://www.ctyme.com/intr/rb-0713.htm
http://www.ctyme.com/intr/rb-0606.htm#Table234
hola !
ya lo depure en debug y es como un ciclo que nunca termina
compila bien y todo pero no me abre la bandeja del cd rom
estoy utilizando dosbox por que tengo windows 7 y es en tasm
que crees que este mal ?
A mi me termina, siempre devuelve FF como error: FFh sense operation failed (hard disk). No tengo ni la menor idea de si el DosBox soporta esto ... probe todas las opciones para montar el CD ...
http://www.dosbox.com/wiki/MOUNT
¿De donde sacaste el codigo? No se si funciona eso realmente ...
http://stackoverflow.com/questions/9380667/eject-cd-optical-drive-in-assembly-language
Tal vez con MSCDEX:
http://makbit.com/articles/mscdex.txt
Sino, no se, los CDs son posteriores al arcaico MS-DOS incluso ...
el problema no es el dosbox, el problema es el programa la int 13h es la que maneja del cd rom y la subfuncion 45 y 46 es para abrir y ejecutar eso está bien el problema es que le hace falta algo para abrir pero no se que sea :(
Yá tienes otro hilo abierto con el mismo problema, y con respuestas.
http://foro.elhacker.net/programacion_general/abrir_bandeja_de_cd_rom_con_ensamblador-t414361.0.html;msg1941510#msg1941510
No se deben abrir dos hilos iguales al mismo tiempo.
Te cierro el otro.
Yo apuesto por incompatibilidad. podes preguntar aquí: http://masm32.com/board/ Ellos probablemente te daran más información.