fehlersuche



  • cookielein schrieb:

    hmm ja das sieht eigentlich besser aus, erinnert sehr an c programmierung mit dem else if und so..

    das problem ist das mein dozent diese version nicht möchte 😞 ich kann ihm sowas doch in der prüfung nicht hinklatschen 😞

    warum nicht? - es ist ein Bestandteil des Assemblers!



  • cookielein schrieb:

    hmm ja das sieht eigentlich besser aus, erinnert sehr an c programmierung mit dem else if und so..

    das problem ist das mein dozent diese version nicht möchte 😞 ich kann ihm sowas doch in der prüfung nicht hinklatschen 😞

    Wuerde ich auch nicht empfehlen, es sei denn du legst es darauf an, das Unterrichtskonzept zu sabotieren. 😃
    Ist vielleicht uebersichtlich und kann evtl. vom TASM verarbeitet werden (obwohl ich nicht weiss, ob die MASM-Unterstuetzung beim TASM so weit reichte), aber das ist eben kein Assembler-Code, sondern MASM-Code.



  • Es kann hilfreich sein, seine Programmteile modular anzulegen. Auf diese Weise lassen sich bestimmte Module testen und austauschen - das kann u.a. die Fehlersuche sehr erleichtern.
    Auf diese Weise findet man auch schneller falsche Assembler- oder Linkeraufrufe o.ä.

    z.B.

    Ausgabe1:
    push ax
    mov ah,09
    int 21
    pop ax
    ret
    

    und Aufrufen mit Call Ausgabe1

    Für das vorgelegte Programm empfiehlt sich außerdem, es schrittweise im Debugger auszuführen. Nur die Interrupts sollten nicht schrittweise durchgangen werden, die müssen im Ganzen ausgeführt werden.

    Da bestimmte Fehler wie:

    heizung:
        mov ah,08h
        int 21
    

    auch häufiger vorkommen, kann man sich die Assemblerdirektive EQU zunutze machen:
    (auf diesen praktischen Trick bin ich gar nicht selber gekommen, der stand in dem Buch Programmiersprache Assembler von Reiner Backer drin)

    int 21 EQU int 21h
    


  • nachtfeuer schrieb:

    int 21 EQU int 21h
    

    zeig mir mal einen Assembler, der das Schluckt.



  • DeinMeiser schrieb:

    nachtfeuer schrieb:

    int 21 EQU int 21h
    

    zeig mir mal einen Assembler, der das Schluckt.

    Ok Ok, Sorry - ein Leerzeichen zuviel - es müsste heißen

    int21 EQU int 21h
    

    Sehen wir Sie denn demnächst auch mal wieder in einer tollen Talkshow, Herr Meiser?



  • welche bücher benutz du denn wenn ich mal fragen darf ?

    also ich hab die bücher

    Assembler: Maschinennahes Programmieren von Anfang an. Mit Windows-Programmierung [Taschenbuch]
    Backer, Reiner

    Assembler ge-packt
    Rohde, Joachim

    Assembler: Grundlagen der Programmierung
    Roming, Marcus

    3 bücher und ich komm trotzdem nicht weiter xD



  • Mal eine andere Frage, was erhoffst du dir von der Assembler-Programmierung?
    Das Windowszeugs wird dir nicht viel bringen, außer für eine paar dreckige Hacks. Und die maschinennahe Programmierung ist ja ganz fein, aber eigentlich bringt dir das auch nicht viel. Die Befehle sind nicht bei jedem Assembler gleich, die CPUs haben teilweise unterschiedliche Befehle. Und was noch viel wichtiger ist, die CPUs wollen Aufgaben teilweise völlig unterschiedlich lösen. Mehr als ein wenig Grundverständnis wie so eine Maschine tickt wirst du also nicht erhalten. Da kommt aber auch in C eine Menge rüber, besonders was das praxisrelevante Wissen betrifft.



  • was ich mir erhoffe ? naja um es klar und deutlich zu sagen, ich erhoffe mir die prüfung zu bestehen :))



  • mein fehler ist doch bei der schl5 oder ?



  • ah ich hab mein fehleeeeeer.......... ein h vergessen und alles geht drunter und drüber xD


Anmelden zum Antworten