Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Altri Linguaggi - Assembler x86
Forum - Altri Linguaggi - Assembler x86

Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 10:47
Giovedì, 18/06/2009
stavo studiando il boot di un sistema operativo e ho provato a mettere giù un esempio che ho preso dalla guida

il codice di start.s è questo:

Codice sorgente - presumibilmente Altri Linguaggi

  1. .code16
  2. .text
  3.  
  4. .global _start
  5. _start:
  6.         movb $0x0E, %ah
  7.         movb $'H', %al
  8.         int 0x10       
  9.  
  10. done:
  11.         jmp done
  12.  
  13. .org 510
  14. boot_flag:
  15.         .word 0xAA55



quando però lo compilo su openSuse dando questo comando:

as -o start.o start.s

mi viene segnalato:

start.s: Assembler messages:
start.s:8: Error: suffix or operands invalid for `int'

non riesco a capire cosa sbaglio, anche perché ho controllato e la sintassi del comando int dovrebbe essere corretta
Ho cercato su google ma tutti gli altri casi che ho trovato si riferiscono ad errori che non hanno niente a che vedere con il codice

cosa può essere?

Ultima modifica effettuata da lorenzo il 18/06/2009 alle 10:48
PM Quote
Avatar
gigisoft (Member)
Guru


Messaggi: 696
Iscritto: 11/10/2008

Segnala al moderatore
Postato alle 11:06
Giovedì, 18/06/2009
Salve,

vedo che nelle istruzioni precedenti i valori esadecimali li fai precedere da $, per cui penso che dovresti usarlo anche per l'interrupt:

Codice sorgente - presumibilmente Altri Linguaggi

  1. int $0x10



Ciao. :k:

Luigi.

Ultima modifica effettuata da gigisoft il 18/06/2009 alle 11:07
PM Quote