ayuda con este código en ensamblador

Iniciado por jim12328, 11 Mayo 2014, 20:15 PM

0 Miembros y 2 Visitantes están viendo este tema.

jim12328

Código (asm) [Seleccionar]


.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

Eternal Idol

¿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
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

jim12328

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 ?

Eternal Idol

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 ...
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

jim12328

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 :(

simorg

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.

x64core

Yo apuesto por incompatibilidad. podes preguntar aquí: http://masm32.com/board/ Ellos probablemente te daran más información.