Grundlagen - Einfach aber dringend ! :)
-
Hallo,
wenn ich den Hinweis:
BRA N 1101 0nnn nnnn nnnn
GOTO K 1110 1111 kkkk kkkk
1111 kkkk kkkk kkkkhole,dann also:
xxxx x111 1111 1100 = 2044Dez oder FFCHex
Habe ich das so richtig verstanden ?
Wo springt der dann in Aufgabe 4 hin ?
-
Den Befehl habe ich so garnicht gefunden.
Ich vermute es ist ein Sprung relativ zu jetzigen Adresse.
Das würde wohl Sinn machen.
-
les dir bitte die aufgabenstellung weiteroben durch.danke
-
bubka schrieb:
xxxx x111 1111 1100 = 2044Dez oder FFCHex
Wo springt der dann in Aufgabe 4 hin ?könnte auch -4 sein oder sowas
-
überlauf oder muss ich das nicht verstehen ?
oder -4 nach oben im Programmspeicher ?
-
Jetzt kann ich nur auf ein Wunder hoffen
-
-
dich
Ich hätte gerne gewusst womit der mit der 2024 springt.
Also in dem gegebenen Programm.0x100 movlw .2
..
..
..
bra 0xFFC -> wohin des Weges ?
-
Jetzt kann ich nur auf ein Wunder hoffen
Das Glück bevorzugt den der Vorbereitet ist.
-
ich hatte eigentlich mit dem wunder gemeint das einer
den post liest der ahnung hat
-
Gugst du hier :
http://www.sprut.de/index.htm
-
danke habe ich schon gegugt
-
Wenn das stimmt das
BRA FFC
ein relativer Sprung ist dann lautet der in Dezimal
BRA -4
->Ein Sprung um 4 Byte zurück.
Aber vom Aktuellen Programm Counter
->
z.B.0000 Irgendwas 2 Bytes
0002 Irgendwas 2 Bytes
0004 BRA -4 2 Bytes
0006 Irgendwas 2 BytesNach dem lesen des Befehls BRA -4 ist der PC gleich 0006 !!
->
Neuer PC =2
-
cool danke!
jetzt bräuchte ich nur noch die Aufgabe 3.Wie das im Programmspeicher
aussieht...
-
-
org 0x400
MAIN
movlw .200
movwf 0x3
movlb 2
incf WREB,W
movwf 0x54,1
movwf 0x0023.1 (6 Punkte) Geben Sie für jede Zeile des Programms die Adresse im Speicher
an!3.4 (10Punkte) Vor dem Start des Programms wurde der gesamte Datenspeicher auf 0
gesetzt. Geben Sie die Adresse und den Inhalt der Stellen im
Datenspeicher an, die durch das Programm verändert wurden! MIT
BEGRÜNDUNG!Ich verstehe jetzt nicht wieso z.B. der MOV Befehl einmal
2 und einmal 3 (Einheit? Byte ? Bit?) braucht0000 MOV AX,1EA7
0003 MOV DS,AX
0005 CALL 000C
0008 MOV AH,4C
000A INT 21
-
bubka schrieb:
Ich verstehe jetzt nicht wieso z.B. der MOV Befehl einmal
2 und einmal 3 (Einheit? Byte ? Bit?) braucht0000 MOV AX,1EA7
0003 MOV DS,AXWeil er einmal 2 16-Bit-Register als Parameter bekommt und einmal ein Register und eine Adresse.
Und es sind natürlich Byte.