Einbinden von ASM-Code in MS Visual C++
-
hi,wie bekomme ich zum beispile folgendes in visual c++ zum laufen?
DATA SEGMENT WORD 'CODE'
Msg BD 13,10,'Satz etc!',7,13,10,'$'
DATA ENDSCODE SEGMENT WORD 'CODE'
ASSUME CS:CODE, DS:DATA
Start: mov ax,DATA
mov ds,ax
mov dx,OFFSET Msg
mov ah,009h
int 021h
mov ah,04Ch
int 021hCODE ENDS
END Start
Ich habs mit __asm { .....} __asm versucht, geht aber nicht?!?! was mach ich falsch....ich mach nämlich gerade die ersten schritte mit assembler programmierung!! DANKE für die hilfe!!
-
p.s.: der smilie ist ausversehen!!!:-)
-
dann benutz Code-Tags und du bekommst keinen Smilie
imho kannst du den Code gar nicht im MSVC++ benutzen, da man glaub ich beim MSVC++ keine interrupts benutzen darf (kann mich auch irren)
-
Ja, bei solchen Codes ist es manchmal hilfreich, die Smilies beim Erstellen eines Beitrags zu deaktivieren
Als naechstes: Du benutzt den VC++ von Mickersoft?
Dann muesste das doch eigentlich mit __asm{...}; gehen...
Aber mal ganz abgesehen vom Syntax des C++ Inline Asm, kannst du dieses Programm eh nicht im VC++ laufen lassen, da die 32Bit Windows-Konsole keine Interrupts unterstuetzt.
-
Hallo,
Der Interrupt geht in MS-VC wie schon gesagt nicht. aber versuch mal_asm { mov eax,00000000 usw, usw }
Bei mir geht inline Assembler nur mit einem _ vor asm, bei 2 kommt nur undefinierte funktion oder so ein ähnlicher Fehler.
mfg
Noob
-
Wie wird beim VC++ eigentlich mov esi,offset ... umgesetzt? Wenn ich da sowas reinschreibe, dann sagt der Compiler nur "Ungueltiger Operandentyp"