Wo finde ich einen Compiler für Assembler?
-
Ich benutze Windows Xp SP3. 32-Bit. Aber wo kann ich ein Tutorial für Flat Assembler finden?
-
google hat mit z.B. das geliefert: http://www.friedspace.com/assembly/intro.php
-
Win32 assembly IDE for masm/tasm/fasm/nasm/goasm/hla
http://www.oby.ro/rad_asm/Ausserdem gibt es keine Compiler für ASM sondern nur Assembler.
-
radasm schrieb:
Ausserdem gibt es keine Compiler für ASM sondern nur Assembler.
Was meinst du damit? Wie kann ich es komplieren?
-
sebastianfox schrieb:
Was meinst du damit? Wie kann ich es komplieren?
Allgemein bezeichnet man mit Kompilieren das Umwandeln einer Sprache in eine andere. Oft wandelt man dabei eine Hochsprache in Maschinensprache.
Das was du willst ist Maschinensprache in Maschinencode umwandeln. Das nennt sich Assemblieren und wird dementsprechend von einem Assembler erledigt.
-
Ich verstehe nur Bahnhof:
Ich habe schon einen Compiler für Assembler gefunden(Flat Assembler), aber wo kann ich ein Tutorial für Flat Assembler Sprache finden(hoffentlich kann man da einen Bootloader erstellen)
-
Das was du Compiler nennst ist ein Assembler
-
Aso...Es gibt ja auch so eine Sprache Assembler. Genuaser gesagt Flat Assembler.Aber wo fidne ich ein Tutorial zu Flat Assembler.
-
Glaub für dich ist es besser, wenn du mal in die Bücherei gehst und dir ein entsprechendes Buch ausleihst (x86 Architektur, 32Bit wenn möglich).
-
sebastianfox schrieb:
Bei Flat Assembler funktioniert es irgendwie nicht. Also wenn ich den Assembler Code schreibe:
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
Dann sagt der Compiler, dass TITLE,... Falsch ist. Aslo ist Flat Assembler überhaupt nicht zu empfehlen. Ich will nur so einen Compiler, der dieses Programm kompiliert und dann Das erste Programm rauskommt. Oder gibt es viele Arten von Assembler? Welche Art würde man empfehlen?
So wird vielleicht ein Schuh draus
und sieht Einsteigerfreundlich aus:
(Fasmw)org 100h ;16bit-Dos-Version-mit 256bit breiten Header (oder auch COM PRG) mov ah,09 ;Funktion um ASCII-CODE-Sequenz auszulesen, braucht $ als Ende-Markierung mov dx,derText ;damit die Funktion weiß, wo der Text/ASCII- String anfängt int 21h ;Betriebssysteminterrupt/Funktionsverteiler - ruft ein bestimmtes Unterprogramm auf derText db 'Wie lange braucht das Licht, um einmal den Erdball zu umrunden?$'
Der Hexcode des Programms:
Microsoft Symbolic Debug Utility Version 2.00 (C) Copyright Microsoft Corp 1984, 1985, 1986 Processor is [80386] -d 1E11:0100 B4 09 BA 07 01 CD 21 57-69 65 20 6C 61 6E 67 65 4.:..M!Wie lange 1E11:0110 20 62 72 61 75 63 68 74-20 64 61 73 20 4C 69 63 braucht das Lic 1E11:0120 68 74 2C 20 75 6D 20 65-69 6E 6D 61 6C 20 64 65 ht, um einmal de 1E11:0130 6E 20 45 72 64 62 61 6C-6C 20 7A 75 20 75 6D 72 n Erdball zu umr 1E11:0140 75 6E 64 65 6E 3F 24 00-00 00 00 00 00 00 00 00 unden?$.........
Wenn du die Zahlen so wie oben einfach in einen Hexeditor ein-oder eben abtippst, und die Datei
Name.com nennst, dann hast du auch ein laufendes Programm.Fasm ist prinzipiell ein sehr einsteigerfreundlicher Assembler, nur leider ist die Dokumentation auf Englisch (oder zum Glück, denn Französisch kann ich gar nicht so gut), wie auch die wenigen guten, wirklich brauchbaren Assemblertexte, die meistens nur auf Englisch zu bekommen sind.
Du hast bereits in deinem Vorgängerthread hier
http://www.c-plusplus.net/forum/viewtopic-var-t-is-265894-and-highlight-is-.html
sehr gute Antworten bekommen. Hast du Schwierigkeiten mit der Buchbeschaffung oder bei der Auswertung der gelinkten Seiten oder bei der Auswertung der Antworten?