Frage zu CodeView



  • Hallo,

    hab mir einige Tutorials zum Thema Assembler durchgelesen, in einigen wird das Programm "CodeView" erwähnt. Kann man sich das irgendwo runterladen (wenn ja: wo?) oder muss man das kaufen?
    Und was genau kann man damit machen?

    Gruß,
    Michel



  • Moin, Moin...

    CodeView ist der Debugger für MASM. Den gibt es hier:

    http://www.ee.bilkent.edu.tr/~ee212/lab/links.htm

    Die Datei ist eine selbstentpackende Datei. Für DOS-EXE ist cv.exe der zuständige Debugger.

    Und hier ein kleines CodeView-Tutorial:

    http://www.nuvisionmiami.com/books/asm/cv/index.htm

    Mit einem Debugger kannst Du Fehler in einem Programm aufspüren. Du startest den Debugger und lädst die EXE, die Du untersuchen möchtest. Nun kannst Du das Programm schrittweise ablaufen lassen und genau verfolgen, was das Programm macht und welche Register oder Speicherstellen verändert werden.

    Ciao...



  • Vielen Dank für die Links.
    Mit dem Dos-Programm "Debug" hab ich schon ein bißchen gearbeitet, aber sonderlich komfortabel ist das ja nicht. 🙂

    Gruß,
    Michel



  • der turbo debugger von borland ist auch ganz cool, benutzerfreundlich und leistungsfähig, kannste ja auch mal ausprobieren



  • Hallo,
    ja, der Turbo Debugger ist zwar ganz gut, aber damit hatte ich schon ein paar Probleme. Ich hab ein paar super-simpel Programme geschrieben, wollte sie debuggen und bekam die Meldung "Die NTVDM-CPU hat einen ungültigen Befehl entdeckt blah blah blah".



  • DOS-Programm sollte man natürlich auch unter DOS bzw. seinen grafischen Oberflächen (auch bekannt als Win9x/ME) ausführen...



  • Das hab ich mir schon fast gedacht. 😃
    Ich hab ein Mini-Programm geschrieben um mit dem CMP-Befehl zu experimentieren. Sobald man die erste Zeile ausführt meldet der Turbo Debugger (Version 5.0) den Fehler.

    ;*****************************************
    ; Programm zum Testen des CMP Befehls
    ;*****************************************
    DATEN SEGMENT
    	SNONZERO DB "Nein, ungleich", "$"
    	SONZERO DB "Ja, beides ist gleich", "$"
    DATEN ENDS
    
    STAPEL SEGMENT BYTE STACK
    	DW 128 DUP(0)
    STAPEL ENDS
    
    ;*****************************************
    ; Code Segment
    ;*****************************************
    CODE SEGMENT
    	ASSUME CS:CODE,ES:NOTHING,SS:STAPEL
    
    START: 
    	MOV AX, DATEN
    	MOV DS, AX
    
    	MOV AX, 99
    	CMP AX, 98
    	je ONZERO
    
    	MOV AH, 09H
    	MOV DX, OFFSET SNONZERO
    	JMP Print
    
    ONZERO:
    	MOV AH, 09H
    	MOV DX, OFFSET SONZERO
    
    PRINT:
    	INT 21H
    
    	MOV AH, 4CH
    	INT 21H
    
    CODE ENDS
    
    END START
    


  • Hi.

    Mal abgesehen davon, dass dein Programm 2 Syntaxfehler in der Stringdefinition im Datensegment enthaelt, konnte ich das erstellte Programm problemlos im TD5.0 komplett durchlaufen lassen (WinXP). 😕



  • Da hast Du recht... wohl irgendwie falsch kopiert, im Original sind alles doppelte Anführungszeichen...
    Das ist ja seltsam... mein TD5 und WinXP mögen das nicht.


Anmelden zum Antworten