![]() |
DEUTSCHE VERSION |
|
![]() |
Links | | | Forums | | | Comments | | | Report news |
![]() |
Chat | | | Polls | | | Newsticker | | | Archive |
![]() |
amiga-news.de Forum > Programmierung > g++ inline asm | [ - Search - New posts - Register - Login - ] |
-1- | [ - Post reply - ] |
2005-06-26, 14:21 h Kaesebroetchen Posts: 643 User |
Hi, ich habe da mal eine Frage zur syntax. Ich möchte in meinem c++ quelltext folgenden asm code einbauen: void outportb(UINT portid, BYTE value) { __asm mov edx,portid __asm mov al,value __asm out dx,al } wie man sehen kann ist das schon inline asm aber für einen anderen Compiler. Ich habe schon auf diversen Seiten gelesen, das die g++ Syntax anders ist und habe schon mit % $ asm("mov %edx,portid"); usw. herumgebastelt, ich komme aber irgendwie auf keinen grünen zweig. Wär schön wenn mir jemand das mal beispielhaft an diesem code erklären könnte. P.S. das Codebeispiel ist für windows und ich arbeite mit MinGW, aber die inline asm Syntax müsste doch bei allen gcc/g++ gleich sein ? [ Dieser Beitrag wurde von Kaesebroetchen am 26.06.2005 um 14:22 Uhr editiert. ] [ - Answer - Quote - Direct link - ] |
2005-06-27, 10:01 h gni Posts: 1106 User |
Zitat:Die grundlegende Struktur ja. Der Unterschied liegt in den Registern und Constraints. Mehr über "ExtendedASM" findest Du hier klick Ich würde Dir vorschlagen, entweder komplett ohne ASM auzukommen oder C und Asm zu trennen. [ - Answer - Quote - Direct link - ] |
2005-06-27, 12:25 h Kaesebroetchen Posts: 643 User |
@gni: Danke für den Link. Jetzt kann ich das ganze fehlerfrei compilieren. Leider hängt sich das Programm auf, aber das wird an meinem code liegen. Was mir noch seltsam vorkommt, ist die Reihenfolge der Argumente in meinem Beispielcode. Vom Mikrocontroller kenn ich das so: mov Quellregister,Zielregister In meinem Code scheint es aber genau anderherum zu sein. Ist das beim x86 Assembler anders ? [ - Answer - Quote - Direct link - ] |
2005-06-28, 12:09 h Holger Posts: 8116 User |
Zitat:Du weißt doch, bei x86 ist alles anders/vertauscht. Die byte-Reihenfolge, Quell- und Zielangaben, technologischer Fortschritt und kommerzieller Erfolg... mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Answer - Quote - Direct link - ] |
2005-06-28, 13:09 h Kaesebroetchen Posts: 643 User |
Du weißt doch, bei x86 ist alles anders/vertauscht. Die byte-Reihenfolge, Quell- und Zielangaben, technologischer Fortschritt und kommerzieller Erfolg... mfg -- Good coders do not comment. What was hard to write should be hard to read too. [/quote] ![]() Ich bin jetzt auch dazu übergegangen das mit asm sein zu lassen und über eine DLL auf den ParPort zuzugreifen. Das funktioniert wenigsten zuverlässig. [ - Answer - Quote - Direct link - ] |
-1- | [ - Post reply - ] |
amiga-news.de Forum > Programmierung > g++ inline asm | [ - Search - New posts - Register - Login - ] |
![]() |
Masthead |
Privacy policy |
Netiquette |
Advertising |
Contact
Copyright © 1998-2025 by amiga-news.de - all rights reserved. |
![]() |