Speichern und Inkrementieren integer-Variablen in x86 Assembler MASM

Ich versuche zu verstehen Versammlung. Das heutige Thema ist: "Speichern und Inkrementieren int-Variablen und drucken von zahlen" 🙂

So, hier ist mein code

dane segment
     count     db     0
dane ends

code segment
start:
     inc     byte ptr ds:[count]
     inc     byte ptr ds:[count]
     inc     byte ptr ds:[count]

     mov     dl,ds:[count]
     mov     ah,2
     int     21h

     mov     ah,4ch
     int        21h
code ends
end start

Wenn ich kompilieren und ausführen, bekam ich diese Fehlermeldung:

Speichern und Inkrementieren integer-Variablen in x86 Assembler MASM

Es geschieht nur, wenn count wird erhöht, mehr als einmal.
Was mache ich?

Kann jemand erklären, warum kann ich nicht einfach schreiben:

inc     count

Auch, warum ich byte ptr beim Inkrementieren Werte, aber nicht, wenn ich es kopieren zu dl registrieren?

  • Ich weiß nicht, über diese Versammlung,aber sind Sie sicher, dass Sie nicht Inkrementieren eines Zeigers statt mit dem Wert im Register? diese Fehlermeldung scheint heap-Beschädigung..
InformationsquelleAutor msmialko | 2013-03-23
Schreibe einen Kommentar