Thread View: de.comp.lang.c++
7 messages
7 total messages
Started by Piotr Kasprzak
Thu, 21 Mar 1996 19:33
ASM in C++ einbinden
Author: Piotr Kasprzak
Date: Thu, 21 Mar 1996 19:33
Date: Thu, 21 Mar 1996 19:33
35 lines
1091 bytes
1091 bytes
Hi !
Ist es irgendwie moeglich ASM-Routinen (zB. in Form von TASM-Objs) in C++-
OBJEKTE so einzubinden, dass sie sich nahtlos in die C++-Konzepte
integrieren ? Also zum Beispiel:
.model small, C
.code
PROC routine
ret
ENDP
.end
und dann:
class x {
void routine();
...
};
Ich hab' schon versucht beide Module ineinander zu linken, ging aber
nicht, da 'routine' (logischerweise) nicht als 'x::routine' erkannt wurde.
Andererseits kann ich in dem ASM-Modul die Routine nicht 'x::routine'
nennen, da TASM offensichtlich was gegen das 'x::' hat.
Hat jemand irgendeine Loesung ???
c-ya,
Piotr
--
Piotr.Kasprzak@xyz.prima.ruhr.de http://www.prima.ruhr.de
Re: ASM in C++ einbinden
Author: Andreas Huennebeck
Date: Fri, 22 Mar 1996 08:51
Date: Fri, 22 Mar 1996 08:51
62 lines
2085 bytes
2085 bytes
In article <65GvlHBNWSB@xyz.prima.ruhr.de>, Piotr.Kasprzak@xyz.prima.ruhr.de (Piotr Kasprzak) writes:
> Ist es irgendwie moeglich ASM-Routinen (zB. in Form von TASM-Objs) in C++-
> OBJEKTE so einzubinden, dass sie sich nahtlos in die C++-Konzepte
> integrieren ? Also zum Beispiel:
>
> .model small, C
> .code
>
> PROC routine
> ret
> ENDP
>
> .end
>
> und dann:
>
> class x {
>
> void routine();
>
> ...
> };
>
> Ich hab' schon versucht beide Module ineinander zu linken, ging aber
> nicht, da 'routine' (logischerweise) nicht als 'x::routine' erkannt wurde.
> Andererseits kann ich in dem ASM-Modul die Routine nicht 'x::routine'
> nennen, da TASM offensichtlich was gegen das 'x::' hat.
Probier es doch mal damit (nicht probiert, nur eine Idee):
.model small, C
.code
PROC my_asm_routine
ret
ENDP
.end
und dann:
class x {
void routine() { my_asm_routine(); }
...
};
Damit umgehst du das "x::". Falls du in my_asm_routine auf Memberdaten
zugreifen willst, musst do den this-Zeiger mit uebergeben.
Tschau
Andreas
---------------------------------------------------------------------
| /\
/ \ ^ /\/ \ _ Andreas Huennebeck
/ \ / \/\ / \/ \ Bruker Analytische Messtechnik GmbH
/ \ \ / \ email: ah@bruker.de
/ \ / \
Kletterer und Natur gemeinsam am Seil: keine weiteren Felssperrungen!
----------------------------------------------------------------------
Re: ASM in C++ einbinden
Author: Haiko Emmel
Date: Mon, 25 Mar 1996 09:03
Date: Mon, 25 Mar 1996 09:03
24 lines
1139 bytes
1139 bytes
Piotr.Kasprzak@xyz.prima.ruhr.de (Piotr Kasprzak) wrote: >Hi ! >Ist es irgendwie moeglich ASM-Routinen (zB. in Form von TASM-Objs) in C++- >OBJEKTE so einzubinden, dass sie sich nahtlos in die C++-Konzepte >integrieren ? Im Prinzip muß das gehen, zumal TASM ja auch irgendwie OO-Erweiterungen besitzen soll. Um das rauszubekommen könntest Du doch einfach so vorgehen: Deine Klasse, die Du in Assembler codieren möchtest, in C++ als Gerüst vorformulieren und mit dem C++-Compiler in Assemblercode übersetzen (-S glaube ich als Option). Dann hast Du einen Rahmen für Dein Assemblerprogramm, welchen Du 'nur' noch ausfüllen mußt. Gruß -- Haiko Emmel CI$ 100321,1321 Hessischer Rundfunk Frankfurt
Re: ASM in C++ einbinden
Author: Haiko Emmel
Date: Mon, 25 Mar 1996 09:06
Date: Mon, 25 Mar 1996 09:06
24 lines
1139 bytes
1139 bytes
Piotr.Kasprzak@xyz.prima.ruhr.de (Piotr Kasprzak) wrote: >Hi ! >Ist es irgendwie moeglich ASM-Routinen (zB. in Form von TASM-Objs) in C++- >OBJEKTE so einzubinden, dass sie sich nahtlos in die C++-Konzepte >integrieren ? Im Prinzip muß das gehen, zumal TASM ja auch irgendwie OO-Erweiterungen besitzen soll. Um das rauszubekommen könntest Du doch einfach so vorgehen: Deine Klasse, die Du in Assembler codieren möchtest, in C++ als Gerüst vorformulieren und mit dem C++-Compiler in Assemblercode übersetzen (-S glaube ich als Option). Dann hast Du einen Rahmen für Dein Assemblerprogramm, welchen Du 'nur' noch ausfüllen mußt. Gruß -- Haiko Emmel CI$ 100321,1321 Hessischer Rundfunk Frankfurt
Re: ASM in C++ einbinden
Author: Haiko Emmel
Date: Mon, 25 Mar 1996 09:07
Date: Mon, 25 Mar 1996 09:07
24 lines
1139 bytes
1139 bytes
Piotr.Kasprzak@xyz.prima.ruhr.de (Piotr Kasprzak) wrote: >Hi ! >Ist es irgendwie moeglich ASM-Routinen (zB. in Form von TASM-Objs) in C++- >OBJEKTE so einzubinden, dass sie sich nahtlos in die C++-Konzepte >integrieren ? Im Prinzip muß das gehen, zumal TASM ja auch irgendwie OO-Erweiterungen besitzen soll. Um das rauszubekommen könntest Du doch einfach so vorgehen: Deine Klasse, die Du in Assembler codieren möchtest, in C++ als Gerüst vorformulieren und mit dem C++-Compiler in Assemblercode übersetzen (-S glaube ich als Option). Dann hast Du einen Rahmen für Dein Assemblerprogramm, welchen Du 'nur' noch ausfüllen mußt. Gruß -- Haiko Emmel CI$ 100321,1321 Hessischer Rundfunk Frankfurt
Re: ASM in C++ einbinden
Author: Haiko Emmel
Date: Mon, 25 Mar 1996 10:47
Date: Mon, 25 Mar 1996 10:47
24 lines
1139 bytes
1139 bytes
Piotr.Kasprzak@xyz.prima.ruhr.de (Piotr Kasprzak) wrote: >Hi ! >Ist es irgendwie moeglich ASM-Routinen (zB. in Form von TASM-Objs) in C++- >OBJEKTE so einzubinden, dass sie sich nahtlos in die C++-Konzepte >integrieren ? Im Prinzip muß das gehen, zumal TASM ja auch irgendwie OO-Erweiterungen besitzen soll. Um das rauszubekommen könntest Du doch einfach so vorgehen: Deine Klasse, die Du in Assembler codieren möchtest, in C++ als Gerüst vorformulieren und mit dem C++-Compiler in Assemblercode übersetzen (-S glaube ich als Option). Dann hast Du einen Rahmen für Dein Assemblerprogramm, welchen Du 'nur' noch ausfüllen mußt. Gruß -- Haiko Emmel CI$ 100321,1321 Hessischer Rundfunk Frankfurt
Re: ASM in C++ einbinden
Author: Volkmar Kostka
Date: Mon, 25 Mar 1996 13:44
Date: Mon, 25 Mar 1996 13:44
74 lines
2208 bytes
2208 bytes
In article <1996Mar22.085108.337@bam.bruker.de>,
ah@teddy.software.bruker.de (Andreas Huennebeck) wrote:
>In article <65GvlHBNWSB@xyz.prima.ruhr.de>, Piotr.Kasprzak@xyz.prima.ruhr.de
(Piotr Kasprzak) writes:
>> Ist es irgendwie moeglich ASM-Routinen (zB. in Form von TASM-Objs) in C++-
>> OBJEKTE so einzubinden, dass sie sich nahtlos in die C++-Konzepte
>> integrieren ? Also zum Beispiel:
>>
>> .model small, C
>> .code
>>
>> PROC routine
>> ret
>> ENDP
>>
>> .end
>>
>> und dann:
>>
>> class x {
>>
>> void routine();
>>
>> ...
>> };
>>
>> Ich hab' schon versucht beide Module ineinander zu linken, ging aber
>> nicht, da 'routine' (logischerweise) nicht als 'x::routine' erkannt wurde.
>> Andererseits kann ich in dem ASM-Modul die Routine nicht 'x::routine'
>> nennen, da TASM offensichtlich was gegen das 'x::' hat.
>
>Probier es doch mal damit (nicht probiert, nur eine Idee):
>
> .model small, C
> .code
>
>PROC my_asm_routine
besser
PROC _my_asm_routine
> ret
>ENDP
>
> .end
>
>und dann:
>
extern "C" my_asm_routine();
nicht vergessen.
>class x {
>
> void routine() { my_asm_routine(); }
>
> ...
>};
>
>Damit umgehst du das "x::". Falls du in my_asm_routine auf Memberdaten
>zugreifen willst, musst do den this-Zeiger mit uebergeben.
>
>Tschau
>Andreas
>
| (small signature) | Volkmar Kostka (TPS GmbH - Germany) |
| CHAOS PROGRAMMING | Volkmar.Kostka@tps.de |
| HUMANOID | Phone: +49 9103 506 144 |
| (original shrinked) | FAX: +49 9103 506 281 |
LARGE SIGNATURE AVAILABLE ON REQUEST
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads