Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
z9001:software:idas [2018/03/19 13:32] – [Versionen] volkerpz9001:software:idas [2025/11/20 13:02] (aktuell) – [Tabelle] volkerp
Zeile 15: Zeile 15:
  
  
-| Dateiname | IDAS.COM | +| Dateiname         | IDAS.COM                                                                                                                                                              
-| Laden in | OS | +| Laden in          | OS                                                                                                                                                                    
-| Programmstandort | 0400h-1BFFh (RAM-Version)\\ 0C000h-0E7FFh (ROM-Version) | +| Programmstandort  | 0400h-1BFFh (RAM-Version)  -> robotron Kassette [[..:kassetten_robotron:r0122|]]\\ 0C000h-0E7FFh (ROM-Version)  -> robotron Modul [[..:module_robotron#idas-modul|]]  
-| OS-Kommando | IDAS |+| OS-Kommando       | IDAS                                                                                                                                                                  |
  
 Der Speicher von 300h-400h wird als Arbeitsspeicher genutzt. Der Speicher von 300h-400h wird als Arbeitsspeicher genutzt.
Zeile 27: Zeile 27:
  
 Auch von der RAM-Version gibt es verschiedene Fassungen (s.u.). Auch von der RAM-Version gibt es verschiedene Fassungen (s.u.).
 +
 +===== Downloads =====
 +
 +  * {{ :z9001:software:z9001_idas.zip |}} reass. Quellcode zum Neuübersetzen, RAM-Version/ROM-Version/Version UZ
 +  * http://www.sax.de/~zander/z9001/z9_idas.pdf -> U. Zander, Beschreibung INTERPRETATIVER DIALOGASSEMBLER
  
 ===== Anleitung ===== ===== Anleitung =====
Zeile 53: Zeile 58:
 Im Editmode erfolgt die Eingabe des Quelltextes in der Form: Im Editmode erfolgt die Eingabe des Quelltextes in der Form:
  
-  Zeilennr. Marke: Befehl+  Zeilennnummer Marke: Befehl
  
 Eine Marke kann stehen, muss aber nicht. Kommentare sind nicht  Eine Marke kann stehen, muss aber nicht. Kommentare sind nicht 
 möglich. möglich.
 +
 +Das Tabulatorzeichen ist nicht zulässig, es muss mit Leerzeichen gearbeitet werden!
  
 Verarbeitet wird ROBOTRON-Code für U880.  Verarbeitet wird ROBOTRON-Code für U880. 
Zeile 63: Zeile 70:
  
 <code> <code>
-     ROBOTRON      Zilog             ROBOTRON    Zilog+     ROBOTRON      Zilog
  
-M1:  LD M,A   M1:  LD (HL),A         OUT 80H     OUT (80H),A +M1:  LD M,A   M1:  LD (HL),A 
-     JR M1-#       JR M1             IN  3CH     IN A,(3CH) +     JR M1-#       JR M1 
-     JMP M1        JP M1             CMP 0       CP 0 +     JMP M1        JP M1 
-     JRC M1-#      JR C,M1           ADD B       ADD A,B +     JRC M1-#      JR C,M1 
-     JPZ M1        JP Z,M1           JMP M       JP (HL) +     JPZ M1        JP Z,M1 
-     CANZ M1       CALL NZ,M1        RNC         RET NC+     CANZ M1       CALL NZ,M1
      DJNZ M1-#     DJNZ M1      DJNZ M1-#     DJNZ M1
 +     OUT 80H       OUT (80H),A
 +     IN  3CH       IN A,(3CH)
 +     CMP 0         CP 0
 +     ADD B         ADD A,B
 +     JMP M         JP (HL)
 +     RNC           RET NC
 </code> </code>
  
Zeile 104: Zeile 117:
 | ADDR markename     | Ausgabe der Markenadresse |  | ADDR markename     | Ausgabe der Markenadresse | 
 | PUT  konstante     | Ausgabe des Wertes der Konstanten |  | PUT  konstante     | Ausgabe des Wertes der Konstanten | 
-| DR                 | Anzeige Register (display register) | +| DR                 | Anzeige Register (display register)\\ Flags: S Z x H x P/V N C 
 | DS                 | Speicher  anzeigen  /  ändern  (Ende  mit 'STOP'-Taste) | | DS                 | Speicher  anzeigen  /  ändern  (Ende  mit 'STOP'-Taste) |
 | READ | Eingabe von Quelltext (an den Anfang)\\ durch 'DEVICE (T/C)' T=Tape oder C=Console zuweisen.\\ READ von Console ermöglicht Eingabe ohne Zeilennummern. Diese werden automatisch erzeugt. | | READ | Eingabe von Quelltext (an den Anfang)\\ durch 'DEVICE (T/C)' T=Tape oder C=Console zuweisen.\\ READ von Console ermöglicht Eingabe ohne Zeilennummern. Diese werden automatisch erzeugt. |
Zeile 129: Zeile 142:
 Ein beliebter Fehler: in der Eingabezeile sind Control-Zeichen enthalten. Deshalb: keine Cursortasten benutzen! Ein beliebter Fehler: in der Eingabezeile sind Control-Zeichen enthalten. Deshalb: keine Cursortasten benutzen!
  
 +===== Beispiel =====
  
 +<code>
 +IDAS : N
 ++       1 JR START-#
 ++       2 TXT: DB 'HALLO Z9001'
 ++       3 DB 0
 ++       10 START: LD DE,TXT
 ++       20 LD C,9
 ++       30 CALL 5
 ++       LIST
 +00001           JR      START-#
 +00002   TXT:    DB      'HALLO Z9001'
 +00003           DB      0
 +00010   START:  LD      DE,TXT
 +00020           LD      C,9
 +00030           CALL    5
 ++       RUN
 +HALLO Z9001+                    
 ++       ASGN
 +TB (2000H-206BH,BFFFH):
 +MC (1C00H-1C16H,1FFFH): 
 +</code>
 +
 +erzeugter Maschinencode:
 +<code>
 +MC:
 +1C00   18 0C 48 41 4C 4C 4F 20 5A 39 30 30 31 00 11 02   ..HALLO Z9001...
 +1C10   1C 0E 09 CD 05 00 C3 0A 05 00 FF 00 FF 00 FF 00   ................
 +
 +1C00  18 0C            JR      1C0EH
 +1C02  48..             DB "HALLO Z9001",0
 +1C0D  31 00 11         LD      DE,1C02H
 +1C11  0E 09            LD      C,09H
 +1C13  CD 05 00         CALL    0005H
 +1C16  C3 0A 05         JP      050AH
 +</code>
 +JP 050Ah wird automatisch am Ende ergänzt und ist der Rücksprung in die Kommandoschleife.
 +
 +Textspeicher:
 +<code>
 +TB:
 +2000   01 00 12 32 02 00 1C 00 4A 52 00 53 54 41 52 54   ...2....JR.START
 +2010   2D 23 02 00 1B 64 0B 02 1C 54 58 54 00 44 42 00   -#...d...TXT.DB.
 +2020   27 48 41 4C 4C 4F 20 5A 39 30 30 31 27 03 00 0C   'HALLO Z9001'...
 +2030   64 01 0D 1C 00 44 42 00 30 0A 00 16 62 03 0E 1C   d....DB.0...b...
 +2040   53 54 41 52 54 00 4C 44 00 44 45 00 54 58 54 14   START.LD.DE.TXT.
 +2050   00 0E 62 02 11 1C 00 4C 44 00 43 00 39 1E 00 0E   ..b....LD.C.9...
 +2060   3A 03 13 1C 00 43 41 4C 4C 00 35 00 FF 00 FF 00   :....CALL.5.....
 +
 +2000   01 00   12   32 02   00 1C         00 "JR" 00 "START"
 +2012   02 00   1B   64 0B   02 1C "TXT"   00 "DB" 00 "'HALLO Z9001'"
 +202D   03 00   0C   64 01   0D 1C         00 "DB" 00 "0" 
 +2039   0A 00   16   62 03   0E 1C "START" 00 "LD" 00 "DE" 00 "TXT"
 +204F   14 00   0E   62 02   11 1C         00 "LD" 00 "C" 00 "9"
 +205D   1E 00   0E   3A 03   13 1C         00 "CALL" 00 "5"
 +206B
 +
 +2 Byte Zeilennummer (hex)
 +1 Byte Länge
 +2 Byte Token + Parameter (zB. Länge bei DB)
 +2 Byte Adr MC-Code            
 +Marke (optional),Befehl,Parameter,immer durch 00 getrennt.            
 +            
 +Token: (Liste  1648h-1837h)
 + 32 JR
 + 3A CALL
 + 62 LD
 + 64 DB
 +</code>
 +
 +Auf Kassette gespeicherte Quelltexte haben ein Format analog zum [[edas|]]:
 +  * Dateiendung .TXT (wird automatisch angehängt)
 +  * keine Zeilennummern
 +  * Zeilenende 0Dh
 +  * Dateiende 00h
 +
 +<code>
 +Block 00
 +00000080h: 4A 52 20 53 54 41 52 54 2D 23 0D 54 58 54 3A 20 ; JR START-#.TXT: 
 +00000090h: 44 42 20 27 48 41 4C 4C 4F 20 5A 39 30 30 31 27 ; DB 'HALLO Z9001'
 +000000a0h: 0D 44 42 20 30 0D 53 54 41 52 54 3A 20 4C 44 20 ; .DB 0.START: LD 
 +000000b0h: 44 45 2C 54 58 54 0D 4C 44 20 43 2C 39 0D 43 41 ; DE,TXT.LD C,9.CA
 +000000c0h: 4C 4C 20 35 0D 00 00 00 00 00 00 00 00 00 00 00 ; LL 5............
 +</code>
 ===== Versionen ===== ===== Versionen =====
  
 Vom IDAS gibt es mehrere verschiedene Versionen, die sich im Detail unterscheiden (Startmeldung, Fehlermeldungen, ...). Die ROM-Versionen enthalten auch verschiedene Zusatzprogramme. Vom IDAS gibt es mehrere verschiedene Versionen, die sich im Detail unterscheiden (Startmeldung, Fehlermeldungen, ...). Die ROM-Versionen enthalten auch verschiedene Zusatzprogramme.
 +
 +2025 habe ich IDAS reassemblieren müssen((IDAS Laden/Speichern hat nicht im Disk-OS funktioniert, da Speicherzellen im FCB genutzt werden, die auch im Disk-OS verwendet werden. Ein Patch ist jetzt verfügbar.)) und dabei auch die Versionen miteinander verglichen. Vermutlich ist die Version idas_c0.851 (U. Zander) die ältere der beiden Versionen. 
  
 **IDAS RAM-Version Kassette R0122**\\ **IDAS RAM-Version Kassette R0122**\\
Zeile 178: Zeile 277:
  
 **ROM-Version Bereich 8000h**\\ **ROM-Version Bereich 8000h**\\
-diese Version war bei Ebay versteigert worden. Leider ist die Software nicht publik.+diese Version war bei Ebay versteigert worden. Leider ist die Software nicht publik.\\ 
 +2025: Ich kann jetzt aber eine solche ROM-Version kompilieren.
  
  • z9001/software/idas.1521466323.txt.gz
  • Zuletzt geändert: 2018/03/19 13:32
  • von volkerp