Как написать этот код сборки как встроенную сборку? Компилятор: gcc (i586-elf-gcc). Синтаксис GAS меня смущает. Пожалуйста, расскажите, как написать это как встроенную сборку, которая работает для gcc.Перепишите код сборки в стиле Intel в сборку GCC
.set_video_mode:
mov ah,00h
mov al,13h
int 10h
.init_mouse:
mov ax,0
int 33h
Аналогичный вариант, который у меня есть в сборке. Я написал их отдельно как процедуры сборки, чтобы вызвать их из моей программы на C. Мне нужно вызвать эти и еще несколько прерываний от самого C.
Также мне нужно поместить некоторые значения в некоторые регистры в зависимости от того, какую программу прерывания я звоню. Скажите, пожалуйста, как это сделать.
Все, что я хочу сделать, это подпрограммы прерывания вызова из C. Это нормально для меня, даже для этого, используя int86(), но у меня нет исходного кода этой функции. Я хочу int86(), чтобы я мог звонить прерываниям от C.
Я разрабатываю свою собственную крошечную ОС, поэтому у меня нет ограничений на вызовы прерываний или для прямого доступа к аппаратным средствам.
erm ...если вы не используете gcc для компиляции ядра в формате ELF (вам все равно нужен загрузчик), это не будет работать, потому что любая ОС, предоставляющая прямой доступ к прерываниям BIOS (например, MSDOS), не сможет запустить ваш двоичный код – sehe
Я использую grub – geek1000
Итак, это в основном вопрос синтаксиса? –