Du kannst Dich nicht darauf verlassen, daß die Ausgabe Deines
Disassemblers logisch korrekt ist. Wenn beispielsweise mitten im Code
eine Datentabelle auftaucht (was bei handgeschriebenem Assemblercode
nicht auszuschließen ist), dann versucht der Disassembler zunächst,
diese zu disassemblieren und liefert folglich merkwürdig aussehenden
Code. Bei Texten o.ä. oder bei oft referenzierten Stellen hat der
Disassembler eine Chance, herauszufinden, daß das kein Code ist -- aber
das ist eben nicht absolut zuverlässig.
Von daher kann das, was Du Dir da ansiehst, vollkommener Quark sein.
Die Ausgabe des Simulators ist hier wahrscheinlich realistischer, wenn
der mit dem Reset-Vektor "gezündet" wird und das Programm wirklich von
Anfang an abarbeitet.