Kann ich mit dem BCB6 Assembler programmieren?Wenn ja wie?
-
Frage siehe Topic?!
Sollte es gehen, wie mach ich das? Als Konsolenexperte oder wie?
-
bwz habe ich es so veruscht:
#pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[]) { _asm { TITLE Das erste Programm ;Diese Zeile ist optional IDEAL ;IDEAL-Modus einschalten MODEL SMALL ;Speichermodell STACK 100 ;100 Bytes für den Stack DATASEG ;Beginn des Datensegments derText db 'Das erste Programm$' ;1. CODESEG ;Beginn des Codesegmentes start: ;2. STARTUPCODE mov ah, 009h ;3. mov dx, OFFSET derText ;4. int 21h ;5. EXITCODE END start ;6. } return 0; } //---------------------------------------------------------------------------dieser code ist einfach aus einem tutorial eingefügt!
Er bringt aber jedes wort als fehler, also kann es ja so nicht gehen, oder?
Wie mach ich es denn richtig?
-
Du kannst entweder externe ASM-Dateien in dein Projekt einbinden oder Inline-Assembler (asm {...}) verwenden. Verwendest du Inline-Assembler, kannst du allerdings AFAIK keine Direktiven verwenden.
-
ok, und wie müsste der obige code aussehen?
denn so kann ich ihn nicht ausführen!
-
halloduda schrieb:
ok, und wie müsste der obige code aussehen?
denn so kann ich ihn nicht ausführen!
So kannst du ihn nicht ausführen, weil er eine Menge Direktiven enthält und zudem ein DOS-Interrupt anspringt, was in einem Win32-Programm nicht gehen dürfte. Wenn du für Win32 programmieren möchtest, mußt du auf die Funktionen der WinAPI oder der Standard-Library zurückgreifen.
Wenn du 16-Bit-DOS-Applikationen schreiben willst solltest du dir einen Assembler wie MASM oder NASM und einen passenden 16-Bit-Linker besorgen. Mit dem TASM32, der dem BCB6 beiliegt, ist die Erstellung von 16-Bit-Programmen AFAIK nicht möglich.
-
hm...aber der komplette obere code ist aus einem tutorial für TASM der beim Borland beiliegt....=/
-
halloduda schrieb:
hm...aber der komplette obere code ist aus einem tutorial für TASM der beim Borland beiliegt....=/
TASM ist die 16-Bit-Version des Turbo Assembler; der Code dürfte unter TASM32 aus den genannten Gründen nicht laufen.
Falls du Assembler unter Win32 programmieren willst, suche dir am besten ein aktuelleres Tutorial.