이것은 더 간단 할 수는 없지만 작동하지 않습니다. 어셈블리 언어로 CD/광학 드라이브를 꺼내십시오.
은 내가 광학 드라이브가코드는 어셈블리 언어, 인텔 NASM 구문에 나옵니다 있는지 확인하기 위해 사용하고 간단한 코드가 있습니다.
[BITS 16]
[ORG 0X07C00]
STI
Eject:
mov ah, 46h
mov al, 00h
mov dl, 00h
int 13h
endprogram:
times 510-($-$$) db 0
db 0x55
db 0xAA
드라이브 번호를 단순히 늘릴 수는 있지만 드라이브가 0이면 올바르게 작동하지 않아야합니까? 드라이브가 어딘가에
진수 (128)의 주위에 감사를 시작할 수 있으며,
물론이 프로그램은 순수 DOS 나 그 비슷한 (Win 95 등)에서만 실행된다는 사실을 알고 있습니다. – hirschhornsalz
@drhirsch : 부트 섹터처럼 보입니다 – ninjalj
@drhirsch ... 아니요. . 나는 DOS에서 ASM 코드를 실행하는 사람들을 계속해서 들었지만 DOS가 필요하다는 사실을 연결하지 못했습니다. 저것은 진짜로 동전을 뒤집어 놓습니다. 간단히 말해서, 나는 운영 체제를 만드는 3 년 이상의 긴 과정에 있습니다. 현재 사용되지 않는 코드는 BIOS에 의해로드되는 일련의 프로그램의 일부 였을 것입니다. 위의 프로그램은 BIOS가로드 한 후에 OS가 어떻게 작동하는지 시뮬레이션하고있었습니다. 그러나 DOS가 필요하다는 것을 알았습니다. 그러나 "순수 DOS 나 그와 비슷한 환경에서 실행"한다는 것은 정확히 무엇을 의미합니까? 일부 인터럽트를 사용하여 화면에 인쇄 할 수 있습니다. –