hi leuts !
ich habe seit kurzen angefangen mich mit assembler zu beschäftigen jedoch meldet der
compiler (gnu as) immer Fehler , auch wenn das programm völlig richtig ist und nach dem lehrbuch geschriben wurde kommen immer fehler wie:
line x:x is not a 386 introduction
und so weiter
was mache ich falsch ?
Tach auch…
Bei Assembler ist es schwer einfach so zu sagen, woran die Fehler liegen. Aber für mich, der sich mit Assembler „ein wenig“ auskennt, scheint es daran zu liegen, daß Du 286 und 386 Assmbler vermischt und der Compiler damit nicht klarkommt.
Befehle wie SHL und SHR, also bitweises liks-recht-Verschieben funktionieren z.B. erst ab 386 Assembler.
Mag sein, daß Dir meine Antwort weiter hilft, wenn nicht… nur nicht aufgeben !
Daniel
hi leuts !
ich habe seit kurzen angefangen mich mit
assembler zu beschäftigen jedoch meldet
der
compiler (gnu as) immer Fehler , auch
wenn das programm völlig richtig ist und
nach dem lehrbuch geschriben wurde kommen
immer fehler wie:
line x:x is not a 386 introduction
Wahrscheinlicht braucht eine Directive zb.
.386
oder
.MODEL SUPER
und so weiter
was mache ich falsch ?
Es fehlt die Introduction für Compiler, also
keine Maschinenbefehle
Hmm, ich denke mal, daß Du den falschen Assembler-Syntax verwendest. as will den AT&T-Stil, und vielleicht verwendest Du Intel-Stil. Ein Beispiel:
AT&T
mov %(eax),%(ebx)
Intel
MOV EBX,EAX
Übrigens: SHL/SHR gibt schon seit dem 8088. Er konnte aber entweder nur um eins verschieben, oder um den Wert, der im CL steht. Ab 80188 gehts auch mit einem beliebigen Immediate-Wert. SHL EAX,12
Bye
Hansi
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]