Forum: Mikrocontroller und Digitale Elektronik Probleme mit Keil µVision


von Nog (Gast)


Lesenswert?

Hallo,

ich arbeite gerade mit dem Keil µVision3 Simulator. Folgendes Programm 
versuche ich gerade auf einem Intel 80C51 zu simulieren.
1
    SUM1 EQU 43H ;LSB SUM1
2
SUM2 EQU 53H ;LSB SUM2
3
ORG 0
4
MOV SP,#7FH ;STACKPOINTER
5
MOV SUM1,#11H ;FESTE WERTE FUER DIE SUMMANDEN LADEN
6
MOV SUM1-1,#22H
7
MOV SUM1-2,#33H
8
MOV SUM1-3,#44H
9
MOV SUM2,#55H
10
MOV SUM2-1,#66H
11
MOV SUM2-2,#77H
12
MOV SUM2-3,#88H
13
CALL ADDA ;AUFRUF ADDITIONSPROGRAMM AUFGABE A
14
STOP: JMP $ ;ENDLOSSCHLEIFE
15
;ADDA UNTERPROGRAMM FÜR DIE ADDITION VON ZWEI 32-BIT-ZAHLEN; DIE DIREKT
16
;ADRESSIERT WERDEN
17
ADDA:
18
MOV A,SUM1 ;1. SUMMAND LSB
19
ADD A,SUM2 ;2. SUMMAND LSB ADDIEREN
20
MOV SUM1,A ;TEILERGEBNIS ABSPEICHERN
21
MOV A,SUM1-1
22
ADDC A,SUM2-1
23
MOV SUM1-1,A
24
MOV A,SUM1-2
25
ADDC A,SUM2-2
26
MOV SUM1-2,A
27
MOV A,SUM1-3
28
ADDC A,SUM2-3
29
MOV SUM1-3,A
30
RET
31
END


So, nun möchte ich gern währende der Simulation sehen, was im Speicher 
des Controllers passiert. Also benutze ich das Memory Window. Zu Beginn 
des Speichers steht das Programm ab Adresse 0x0000. Das macht ja nun 
auch Sinn.
Jetzt würde ich bei der Adresse 0x0043 eigentlich den ersten Summanden 
mit dem Wert 0x11 erwarten. Leider stehen im gesammten Speicher bis auf 
den Programmteil nur Nullen. Wie kann das sein?? Was mache ich falsch??

Danke.

von Peter D. (peda)


Lesenswert?

Nog wrote:
> des Controllers passiert. Also benutze ich das Memory Window. Zu Beginn
> des Speichers steht das Programm ab Adresse 0x0000. Das macht ja nun
> auch Sinn.
> Jetzt würde ich bei der Adresse 0x0043 eigentlich den ersten Summanden
> mit dem Wert 0x11 erwarten.

Der 8051 ist Harvard, d.h. Code und Daten sind in verschiedenen 
Speichern.


Peter

von Nog (Gast)


Lesenswert?

Okay, das würde vielleicht erklären, warum ich nichts finde. Weiß 
jemand, wo ich bei der Software den Inhalt des anderen Speichers mir 
ansehe?

von Gast (Gast)


Lesenswert?

Der Databereich wird mit D:xxxx angesprochen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.