Assembler/Debugprogramm für x86 gesucht
-
Hallo,
ich suche ein einfaches Programm mit dem ich x86 asm code testen kann. Also d.h. compilen und debuggen. Es soll aber beim Debug auch die Register anzeigen können, damit ich sehen kann was genau passiert. Am besten wäre das Programm mit einer grafischen Oberfläche was unter Windows läuft.
Wer beim ARM den ARM-ELF-INSIGHT kennt wird wissen was ich meine
Soll jetzt nicht für extrem Programmierung sein. Möchte einfach nur ein paar Werte shiften und vielleicht ein paar Unterprogrammsprünge machen.
Vielen Dank.
Grüße,
Cyrill
-
DragonShaolin schrieb:
Soll jetzt nicht für extrem Programmierung sein. Möchte einfach nur ein paar Werte shiften und vielleicht ein paar Unterprogrammsprünge machen.
Warum dann nicht den Inline-Assembler eine Hochsprache verwenden? Mit Borland / Embacadero Delphi oder dem VC++ kannst du auch debuggen. Lediglich den Einblick von MMX Register verwehrt er dir.
-
Guter Windows Debugger:
Assembler:
TASM <-- Nur für DOS
NASM <-- Windows und Linux mit TASM Kompatiblitäts Modus
MASM <-- Nur für WindowsDie Assembler findest bei google da kannste die Kostenlos runterladen.
-
Mit VC++ hab ich es noch nie versucht
ok. Wäre eine überlegung wert.
Es geht halt nur für's Studium um etwas zu lernen und um zu verstehen was jetzt passiert.
Danke dir.
Edit:
dbg schrieb:
Guter Windows Debugger:
Assembler:
TASM <-- Nur für DOS
NASM <-- Windows und Linux mit TASM Kompatiblitäts Modus
MASM <-- Nur für WindowsDie Assembler findest bei google da kannste die Kostenlos runterladen.
ok dann wär es der MASM
hatte mir schon den fasmw gezogen leider fehlt glaube ich der Debugmodus.
Danke schön!!!
-
DragonShaolin schrieb:
Es geht halt nur für's Studium um etwas zu lernen und um zu verstehen was jetzt passiert.
Wenn's wirklich nur das ist, dann ist generell der Beginn mit etwas Inline-Assembler nicht verkehrt. Da kommst du mit wenig Aufwand vergleichsweiße weit.
Ansonsten solltest du dir evtl. Lektüre besorgen.
-
Es wurde nur ein kleiner teil vom x86 behandelt. Hauptsächlich geht es um den ARM.
Ich werde mal den inline-assembler von vc++ auf jedenfall mal anschauen.
Vielen Dank.
-
Für die Intention, die du beschreibst, ist eigentlich debug ideal:
Windowstaste drücken, in das Befehlsfenster Debug eingeben.mit r register anzeigen lassen. Mit rax oder rbx oder rip usw. die einzelnen Register beschreiben
mit a assemblereingabe starten
mit ? rudimentäre Hilfe anzeigen lassen
usw.z.B.
aufrufen:
debug
dann
_ r (immer mit enter bestätigen)
_ rbx
:FEDC
_ r
_ a
0FCC:0100 mov ah,02
0FCC:0102 mov cl,10
0FCC:0104 mov dx,0000
0FCC:0107 rcl bx,1
0FCC:0109 adc dl,30
0FCC:010C int 21
0FCC:010E loop 104
0FCC:0110 int 20
...oder irgendwie sowat
mit g wie go das programm ablaufen lassen
mit t wie trace schrittweise durchsteppenIch finde, mit debug kann man am besten schnell mal einen Assembler-
Algorithmus ausprobieren.
Aber fürs Studium ist der VC++ schon auch ein Muß.