Bootloader ASSEMBLY

CA
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 6 lat
  • Postów:12
0

Witam,
podąrzam za poradnikiem na temat tworzenia systemu operacyjnego.
Jest w nim taki kod w NASM:

Kopiuj
bits	32
section			.text
		align 	        4
		dd		0x1BADB002
		dd 		0x00
		dd 		- (0x1BADB002+0x00)
		
global start
extern kmain
start:
		cli
		cli kmain                                      ;wywołanie funkcji main kernela napisanego w  C
		hlt 

Przy kompilacji tego kodu poleceniem nasm -f elf32 kernel.asm -o kasm.o wyświtla mi się komunikat: kernel.asm:12: error: invalid combination of opcode and operands.
Mój system to Ubuntu 64bit.
Nie wiem kompletnie co może być powodem, skoro zarówno autor kursu i ja korzystamy z architektury x86 i kompilujemy w ten sam sposób.
Jakieś rady?

edytowany 2x, ostatnio: caderda
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:minuta
2

Co to ma znaczyć cli kmain?

CA
Wywołuję tutaj funkcję main z kernela napisanego w języku C
CA
Dziękuję za szybką odpowiedź. Ślepy ja :)
CA
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 6 lat
  • Postów:12
0

Błąd składniowy cli ma być zamienione na call

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.