Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Assembler » Nasm: invalid combination of opcode and operands

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
10.03.2005, 16:45 Uhr
~Fox
Gast


Naja ich habe das hier:

Code:
global test

test:
        push    ebp
        mov     ebp,esp
        in      eax,[ebp+4]
        pop     ebp
        ret



Nasm sagt das hier:

Zitat:

test.asm:6: error: invalid combination of opcode and operands



Ich habe keine Ahnung, was daran falsch ist, aber könnt es mir sicher sagen.

Dieser Post wurde am 10.03.2005 um 16:45 Uhr von Fox editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
10.03.2005, 18:38 Uhr
(un)wissender
Niveauwart


1. in ist ein privilegierter Befehl, mit x86P oder ähnlich schaltest du den frei.
2. nicht konstante Adressen können nur über das dx-Register angegeben werden, also in eax, dx ist valide.
--
Wer früher stirbt ist länger tot.

Dieser Post wurde am 10.03.2005 um 18:39 Uhr von (un)wissender editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
11.03.2005, 15:14 Uhr
~Fox
Gast


Zu 1: Wie komme ich denn in den privilege mode (mit Linux)
Dieser Post wurde am 11.03.2005 um 15:23 Uhr von Fox editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
11.03.2005, 17:17 Uhr
(un)wissender
Niveauwart


zu 1: keine ahnung, google fragen.
Aber da solltest du auch gar nicht rein, der einzige Grund sind Treiber und Systemprogramme...
Linux bietet das was du willst sicherlich schon an.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
11.03.2005, 18:36 Uhr
~hinkel
Gast



Code:
global main

main:
        push ebp
        mov  ebp, esp
    mov  dx, word [ebp+4]
        in   eax, dx
        pop  ebp
        ret


Sichere aber lieber vorher nochmal das Register dx mit push und stelle es am Ende der Funktion wieder mit pop wieder her.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
11.03.2005, 20:49 Uhr
~Fox
Gast



Zitat von (un)wissender:
zu 1: keine ahnung, google fragen.
Aber da solltest du auch gar nicht rein, der einzige Grund sind Treiber und Systemprogramme...
Linux bietet das was du willst sicherlich schon an.

Das, was ich mach ist selbst ein mini os (soll ein paar infos auslesen). Das Problem ist bloß, dass ich das ganze erstmal assemblieren muss.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Assembler ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: