이 어셈블리 코드를 인라인 어셈블리로 작성하는 방법은 무엇입니까? 컴파일러 : gcc (i586-elf-gcc). GAS 구문이 나를 혼란스럽게합니다. gcc에서 작동하는 인라인 어셈블리로 이것을 작성하는 방법을 알려주십시오.인텔 스타일 어셈블리 코드를 GCC 인라인 어셈블리로 다시 작성하십시오.
.set_video_mode:
mov ah,00h
mov al,13h
int 10h
.init_mouse:
mov ax,0
int 33h
비슷한 조립품입니다. 어셈블리 루틴을 C 프로그램에서 호출하기 위해 별도로 작성했습니다. 나는 이것들과 C 자체로부터 좀 더 많은 인터럽트를 호출 할 필요가있다.
또한 호출 할 인터럽트 루틴에 따라 일부 레지스터에 값을 입력해야합니다. 어떻게하는지 말해줘.
내가 원하는 것은 C에서 인터럽트 루틴을 호출하는 것입니다. int86()을 사용하여이 작업을 수행 할 수도 있지만 그 함수의 소스 코드가 없습니다. 내가 C에서 인터럽트를 호출 할 수 있도록 int86()이 필요합니다.
인터럽트를 호출하거나 직접적인 하드웨어 액세스를 위해 아무런 제약이 없도록 내 자신의 작은 OS를 개발 중입니다.
erm ...BIOS 인터럽트 (예 : MSDOS)에 대한 직접 액세스 권한을 부여하는 OS가 없기 때문에 gcc를 사용하여 ELF 형식의 커널을 컴파일하지 않으면 (여전히 부트 로더가 필요합니다.) 귀하의 이진을 실행하십시오 – sehe
내가 grub을 사용하고 있습니다 – geek1000
그래서 이것은 기본적으로 구문 질문입니까? –