Forum: Mikrocontroller und Digitale Elektronik 8051 Monitor/Basic von 1989 - Kommandos?


von Edson (Gast)


Lesenswert?

Hallo Forum,

ich habe hier ein altes Phytec Minicon535, das sich wie folgt meldet:

MC535-MONITOR/BASIC  V1.26c
(C) PHYTEC Messtechnik 1989

Die leicht zu findende Doku zu MCS-Basic-52 V1.1 (von 2001) ist leider 
zu jung und auf meinem System gibt es etliche der beschriebenen Befehle 
und Operatoren gar nicht.
Zum Monitor-Programm konnte ich gar nichts brauchbares finden, kennt 
vielleicht von euch noch jemand Doku zu ähnlich alten Monitor-Programmen 
aus dieser Zeit die ich vergleichen könnte?

Bisher konnte ich (zum Monitor) rausfinden:

x - zeigt die Register an
p - führt einen Einzelschritt aus
t - wie p (?)
u [start-adr.],[end-adr.] - disassembliere (ohne Symbole)
g [adr.] - starte Maschinenprogramm

ex - edit hex
eb - edit binary (oder bitwise)

dd[],db[],di[] nehmen jeweils nur 8-Bit als Argument und zeigen 
anscheinend nur Daten aus der Zeropage (?)

Wäre toll wenn sich noch jemand an die Kommandos erinnern und mir da auf 
die Sprünge helfen kann.

von Edson (Gast)


Lesenswert?

dc [start-adr],[end-adr.] bringt einen zur Code-Ansicht mit 
ASCII-Darstellung in der rechten Spalte

Ab Adresse 8f20h sind dann die gesuchten Komandos zu finden. Falls sich 
noch jemand mit den alten Teilen auskennt freue ich mich nach wie vor 
über jeden Beitrag.
1
C:8F20: 20 20 3E 44 42 20 72 61 6E 67 65 20 20 3E 45 42 :   >DB range  >EB
2
C:8F30: 20 61 64 64 72 65 73 73 20 20 3E 46 49 4C 4C 42 :  address  >FILLB
3
C:8F40: 20 72 61 6E 67 65 20 76 61 6C 75 65 20 20 3E 56 :  range value  >V
4
C:8F50: 42 20 72 61 6E 67 65 20 76 61 6C 75 65 0D 0A 63 : B range value..c
5
C:8F60: 6F 64 65 3A 20 20 3E 44 43 20 72 61 6E 67 65 20 : ode:  >DC range 
6
C:8F70: 20 3E 45 43 20 61 64 64 72 65 73 73 20 20 3E 46 :  >EC address  >F
7
C:8F80: 49 4C 4C 43 20 72 61 6E 67 65 20 76 61 6C 75 65 : ILLC range value
8
C:8F90: 20 20 3E 56 43 20 72 61 6E 67 65 20 76 61 6C 75 :   >VC range valu
9
C:8FA0: 65 0D 0A 64 61 74 61 3A 20 20 3E 44 44 20 72 61 : e..data:  >DD ra
10
C:8FB0: 6E 67 65 20 20 3E 45 44 20 61 64 64 72 65 73 73 : nge  >ED address
11
C:8FC0: 20 20 3E 46 49 4C 4C 44 20 72 61 6E 67 65 20 76 :   >FILLD range v
12
C:8FD0: 61 6C 75 65 20 20 3E 56 44 20 72 61 6E 67 65 20 : alue  >VD range 
13
C:8FE0: 76 61 6C 75 65 0D 0A 69 64 61 74 61 3A 20 3E 44 : value..idata: >D
14
C:8FF0: 49 20 72 61 6E 67 65 20 20 3E 45 49 20 61 64 64 : I range  >EI add
15
C:9000: 72 65 73 73 20 20 3E 46 49 4C 4C 49 20 72 61 6E : ress  >FILLI ran
16
C:9010: 67 65 20 76 61 6C 75 65 20 20 3E 56 49 20 72 61 : ge value  >VI ra
17
C:9020: 6E 67 65 20 76 61 6C 75 65 0D 0A 78 64 61 74 61 : nge value..xdata
18
C:9030: 3A 20 3E 44 58 20 72 61 6E 67 65 20 20 3E 45 58 : : >DX range  >EX
19
C:9040: 20 61 64 64 72 65 73 73 20 20 3E 46 49 4C 4C 58 :  address  >FILLX
20
C:9050: 20 72 61 6E 67 65 20 76 61 6C 75 65 20 20 3E 56 :  range value  >V
21
C:9060: 58 20 72 61 6E 67 65 20 76 61 6C 75 65 0D 0A 0D : X range value...
22
C:9070: 0A 20 70 72 6F 67 72 61 6D 20 65 78 65 63 75 74 : . program execut
23
C:9080: 69 6F 6E 20 20 20 20 20 20 20 20 20 20 20 20 20 : ion             
24
C:9090: 20 62 72 65 61 6B 70 6F 69 6E 74 28 73 29 20 20 :  breakpoint(s)  
25
C:90A0: 20 20 20 20 70 72 6F 67 72 61 6D 20 6C 6F 61 64 :     program load
26
C:90B0: 2F 73 61 76 65 0D 0A 3E 47 20 5B 61 64 64 72 65 : /save..>G [addre
27
C:90C0: 73 73 5D 20 5B 2C 62 72 65 61 6B 61 64 64 5D 20 : ss] [,breakadd] 
28
C:90D0: 2D 20 67 6F 20 20 3E 42 44 20 62 70 20 2D 20 64 : - go  >BD bp - d
29
C:90E0: 69 73 61 62 6C 65 20 20 20 3E 3A 68 65 78 5F 72 : isable   >:hex_r
30
C:90F0: 65 63 20 2D 20 6C 6F 61 64 20 69 6E 74 65 6C 20 : ec - load intel 
31
C:9100: 68 65 78 0D 0A 3E 54 20 5B 63 6F 75 6E 74 5D 20 : hex..>T [count] 
32
C:9110: 2D 20 74 72 61 63 65 20 73 74 65 70 20 20 20 20 : - trace step    
33
C:9120: 20 20 20 20 3E 42 45 20 62 70 20 2D 20 65 6E 61 :     >BE bp - ena
34
C:9130: 62 6C 65 20 20 20 20 3E 53 20 72 61 6E 67 65 20 : ble    >S range 
35
C:9140: 2D 20 73 61 76 65 20 69 6E 74 65 6C 20 68 65 78 : - save intel hex
36
C:9150: 0D 0A 3E 50 20 5B 63 6F 75 6E 74 5D 20 2D 20 70 : ..>P [count] - p
37
C:9160: 72 6F 63 65 64 75 72 65 20 73 74 65 70 20 20 20 : rocedure step   
38
C:9170: 20 3E 42 4B 20 62 70 20 2D 20 6B 69 6C 6C 0D 0A :  >BK bp - kill..
39
C:9180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :                 
40
C:9190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3E :                >
41
C:91A0: 42 4C 20 2D 20 6C 69 73 74 0D 0A 20 20 20 20 20 : BL - list..     
42
C:91B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :                 
43
C:91C0: 20 20 20 20 20 20 20 20 20 20 3E 42 53 20 61 64 :           >BS ad
44
C:91D0: 64 72 65 73 73 20 2D 20 73 65 74 0D 0A 20 75 74 : dress - set.. ut
45
C:91E0: 69 6C 69 74 79 0D 0A 3E 41 20 61 64 64 72 65 73 : ility..>A addres
46
C:91F0: 73 20 2D 20 61 73 73 65 6D 62 6C 65 20 20 20 20 : s - assemble    
47
C:9200: 20 20 20 20 20 20 3E 4D 58 20 78 72 61 6E 67 65 :       >MX xrange
48
C:9210: 20 64 65 73 74 20 2D 20 6D 6F 76 65 20 78 64 61 :  dest - move xda
49
C:9220: 74 61 0D 0A 3E 55 20 72 61 6E 67 65 20 2D 20 64 : ta..>U range - d
50
C:9230: 69 73 61 73 73 65 6D 62 6C 65 20 20 20 20 20 20 : isassemble      
51
C:9240: 20 20 20 3E 4D 43 20 63 72 61 6E 67 65 20 64 65 :    >MC crange de
52
C:9250: 73 74 20 2D 20 6D 6F 76 65 20 63 64 61 74 61 0D : st - move cdata.
53
C:9260: 0A 3E 58 20 5B 72 65 67 69 73 74 65 72 5D 20 2D : .>X [register] -
54
C:9270: 20 64 69 73 70 2F 63 68 61 6E 67 65 20 20 20 20 :  disp/change    
55
C:9280: 3E 42 41 53 49 43 20 2D 20 20 62 61 73 69 63 20 : >BASIC -  basic 
56
C:9290: 69 6E 74 65 72 70 72 65 74 65 72 0D 0A 3E 48 45 : interpreter..>HE
57
C:92A0: 4C 50 20 2D 20 64 69 73 70 6C 61 79 20 6D 65 6E : LP - display men
58
C:92B0: 75 20 20 20 20 20 20 20 20 20 20 20 3E 4D 41 50 : u           >MAP
59
C:92C0: 20 5B 62 61 73 69 63 72 61 6D 5D 0D 8A 43 00 58 :  [basicram]..C.X
60
C:92D0: 01 44 02 49 06 42 08 0D 0A 52 41 20 52 42 20 52 : .D.I.B...RA RB R
61
C:92E0: 30 20 52 31 20 52 32 20 52 33 20 52 34 20 52 35 : 0 R1 R2 R3 R4 R5
62
C:92F0: 20 52 36 20 52 37 20 20 20 20 50 53 57 20 20 20 :  R6 R7    PSW   
63
C:9300: 20 20 44 50 54 52 20 20 53 50 20 20 20 50 43 0D :   DPTR  SP   PC.
64
C:9310: 8A 00 02 52 30 01 02 52 31 02 02 52 32 03 02 52 : ...R0..R1..R2..R
65
C:9320: 33 04 02 52 34 05 02 52 35 06 02 52 36 07 02 52 : 3..R4..R5..R6..R
66
C:9330: 37 E0 02 52 41 F0 02 52 42 F8 04 44 50 54 52 F9 : 7`.RAp.RBx.DPTRy
67
C:9340: 02 50 43 FF 0D 0A 44 50 54 52 20 BD 0D 0A 50 43 : .PC...DPTR =..PC
68
C:9350: 20 BD 3A 20 28 45 4E 41 29 A0 3A 20 28 44 49 53 :  =: (ENA) : (DIS
69
C:9360: 29 A0 80 41 4C 4C FF 0D 0A 50 52 4F 43 45 53 53 : ) .ALL...PROCESS
70
C:9370: 49 4E 47 20 54 45 52 4D 49 4E 41 54 45 44 20 41 : ING TERMINATED A
71
C:9380: 54 A0 0D 0A 42 52 45 41 4B 20 4E 45 41 52 20 43 : T ..BREAK NEAR C
72
C:9390: 55 52 52 45 4E 54 20 50 43 20 49 47 4E 4F 52 45 : URRENT PC IGNORE
73
C:93A0: 44 0D 8A 11 20 30 01 50 12 B0 C0 B0 D4 10 84 D0 : D... 0.P.0@0T..P
74
C:93B0: 00 20 10 40 02 30 50 70 60 12 02 00 80 E0 A4 00 : . .@.0Pp`....`$.
75
C:93C0: 40 D0 C0 22 32 23 33 03 13 D0 80 90 C4 C0 D6 60 : @P@"2#3..P..D@V`
76
C:93D0: 00 02 52 30 01 02 52 31 02 02 52 32 03 02 52 33 : ..R0..R1..R2..R3
77
C:93E0: 04 02 52 34 05 02 52 35 06 02 52 36 07 02 52 37 : ..R4..R5..R6..R7
78
C:93F0: 08 01 41 09 01 43 0A 02 41 42 0B 04 44 50 54 52 : ..A..C..AB..DPTR

von Edson (Gast)


Lesenswert?

Ok, es hätte also gereicht im Monitor "HELP" einzugeben um an die 
Befehle zu kommen. Unter BASIC hatte ich das probiert, allerdings "BAD 
SYNTAX" als Antwort erhalten. Ok, jetzt kenn ich die Monitor-Kommandos 
und kann das BASIC untersuchen.

(Vorerst) Ende des Monolog.

von Edson (Gast)


Lesenswert?

Dem folgenden Print entnehme ich, dass die Token AEh und AFh nicht 
existieren. Dabei hätte es sich laut MCS BASIC-52 Referenz um PGM und 
RROM gehandelt, welche ab V1.1 dazugekommen sind. Bei der mir 
vorliegenden Version 1.62 handelt es sich also sicher nicht um einen 
Nachfolger von BASIC-52, wozu ja auch die Jahreszahl 1989 nicht gepasst 
hat.
1
C:AB00: B4 62 C2 BD C3 87 B9 D2 B9 D7 80 4C 45 54 81 43 : 4bB=C.9R9W.LET.C
2
C:AB10: 4C 45 41 52 82 50 55 53 48 83 47 4F 54 4F 84 50 : LEAR.PUSH.GOTO.P
3
C:AB20: 57 4D 85 50 48 30 2E 88 50 4F 50 89 50 52 49 4E : WM.PH0..POP.PRIN
4
C:AB30: 54 89 50 2E 89 3F 8A 43 41 4C 4C 8B 44 49 4D 8C : T.P..?.CALL.DIM.
5
C:AB40: 53 54 52 49 4E 47 8D 42 41 55 44 8E 43 4C 4F 43 : STRING.BAUD.CLOC
6
C:AB50: 4B 8F 50 48 31 2E 90 53 54 4F 50 91 4F 4E 54 49 : K.PH1..STOP.ONTI
7
C:AB60: 4D 45 92 4F 4E 45 58 31 93 52 45 54 49 94 44 4F : ME.ONEX1.RETI.DO
8
C:AB70: 95 52 45 53 54 4F 52 45 96 52 45 4D 97 4E 45 58 : .RESTORE.REM.NEX
9
C:AB80: 54 98 4F 4E 45 52 52 99 4F 4E 9A 49 4E 50 55 54 : T.ONERR.ON.INPUT
10
C:AB90: 9B 52 45 41 44 9C 44 41 54 41 9D 52 45 54 55 52 : .READ.DATA.RETUR
11
C:ABA0: 4E 9E 49 46 9F 47 4F 53 55 42 A0 46 4F 52 A1 57 : N.IF.GOSUB FOR!W
12
C:ABB0: 48 49 4C 45 A2 55 4E 54 49 4C A3 45 4E 44 A4 54 : HILE"UNTIL#END$T
13
C:ABC0: 41 42 A5 54 48 45 4E A6 54 4F A7 53 54 45 50 A8 : AB%THEN&TO'STEP(
14
C:ABD0: 45 4C 53 45 A9 53 50 43 AB 49 44 4C 45 AC 53 54 : ELSE)SPC+IDLE,ST
15
C:ABE0: 40 AD 4C 44 40 E0 28 E1 2A 2A E2 2A E3 2B E4 2F : @-LD@`(a**b*c+d/
16
C:ABF0: E5 2D E6 2E 58 4F 52 2E E7 2E 41 4E 44 2E E8 2E : e-f.XOR.g.AND.h.

von Edson (Gast)


Lesenswert?

sollte heissen: der mir vorliegenden Version 1.26

von blutengel (Gast)


Lesenswert?

Hi,

besitze das selbe Minicon Board und habe es nach langen probieren ans 
laufen bekommen. Leider kenne ich mich mit diesen Monitor Basic gar 
nicht aus. Gibt es dazu vielleicht Dokumentationen. Hab zwar schon mit x 
acc geschaft den Wert des Akkus anzuzeigen, aber nicht wie ich dessen 
Wert verändern kann. Mit Help konnte ich auch schon die Befehle anzeigen 
lassen. Da habe ich gesehen das man ein HEX File in den Speicher laden 
kann. Wird dabei etwa ein selbst geschriebenens Programm in den Speicher 
geladen und dann ausgeführt??

Frage über Fragen. Wäre schön wenn einer helfen könnte

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.