Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » LOOP80.MAC assemblieren » Themenansicht

Autor Thread - Seiten: -1-
000
12.04.2019, 18:52 Uhr
Bert



Hallo!

Ich versuche gerade das Testprogramm LOOP80.MAC auf dem KC85 bzw. D004 zu assemblieren.

Die Quellen sind hier zu finden:
https://www.iee.et.tu-dresden.de/~kc-club/09/RUBRIK28.HTM

Benötigt werden:
KCBILD.MAC
LOOP80.MAC
OUT80.MAC
TAST80.MAC

In LOOP80.MAC habe ich die Zeile ".phase 200h" auskommentiert und ein "include KCBILD.MAC" ergänzt.

Der Assembler im D004 läuft dann fehlerfrei durch:

Quellcode:

A0>ASM =LOOP80

No Fatal error(s)



Aber der Linker beschwert sich über ein fehlendes Symbol KTAB, obwohl es in TAST80.MAC definiert ist:

Quellcode:

A0>LINK131 LOOP80=LOOP80
LINK 1.31

BACK     0488   BSMOD    0B42   CUCPL    05F7   CUCPL4   0273
INK      0467   KBDMOD   0522   SCRMOD   0508   ZSATZ    04EE

UNDEFINED SYMBOLS:

KTAB

ABSOLUTE     0000
CODE SIZE    0C4C (0100-0D4B)
DATA SIZE    0000
COMMON SIZE  0000
USE FACTOR     01



Hat jemand eine Idee, was ich falsch gemacht haben könnte?
Ich würde gern vergleichen, ob aus dem Quellcode das gleiche Binärfile auskommt wie hier:
LOOP80.COM, https://www.iee.et.tu-dresden.de/~kc-club/09/RUBRIK36.HTM

Viele Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
12.04.2019, 20:18 Uhr
holm

Avatar von holm

Füge mal das KTAB in der Liste der global definierten Symbole in TAST80.MAC ein.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
12.04.2019, 21:58 Uhr
maleuma



In der KCBILD.MAC das external KTAB auskommentieren, das ist ja intern definiert und muss nicht vom Linker ergänzt werden.
--
Mario.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
13.04.2019, 09:48 Uhr
Bert



Ich glaube KCBILD.MAC ist eine Art Vorgängerversion von OUT80.MAC, da viele Funktionen doppelt sind.

Ich vermute ich muß die fehlenden Symbole in LOOP80.MAC aus der FSTART.MAC holen...

Wenn ich die unveränderte LOOP80.MAC assembliere, erhalte ich folgende Fehler:

Quellcode:

A0>ASM =LOOP80
'TASTATURROUTINE'
'BILDSCHIRMAUSGABE'
'ENDE BILDSCHIRMAUSGABE'
'TASTATURROUTINE'
'BILDSCHIRMAUSGABE'
U                        C      BST2    EQU     BST1+180H
U                        C      BST2    EQU     BST1+180H
U 0692    01 0100        C              ld      bc,SIDE2+100H   ;koppelpuffer
U 06A3    01 0100        C              ld      bc,SIDE2+100H
U 0771    FD 21 0000     C              LD      IY,BST2
U 0777    FD 21 0000     C              LD      IY,BST1
U 07AF    21 0170        C              LD      HL,BST1+368
U 07C2    21 0170        C              LD      HL,BST2+368
U 07F6    FD 21 0000     C              LD      IY,BST1
U 07FC    FD 21 0000     C              LD      IY,BST2
U 0851    21 0000        C      OUTINC: ld      hl,bst1
U 085B    21 0000        C              ld      hl,bst2
'ENDE BILDSCHIRMAUSGABE'
U 0D11    CD 0000               startl: call    top     ;erzeugeb adresstabelle
U 0D14    CD 0000                       call    initt   ;initialisieren tastatur

U 0D2A    22 0000                       ld      (cursor),hl

14 Fatal error(s)



Mit ein paar ext-Anweisung und einem fehlenden 'bst1: defs 300h' in OUT80.MAC, bekomme ich:

Quellcode:

A0>ASM =LOOP80
'TASTATURROUTINE'
'BILDSCHIRMAUSGABE'
'ENDE BILDSCHIRMAUSGABE'
'TASTATURROUTINE'
'BILDSCHIRMAUSGABE'
'ENDE BILDSCHIRMAUSGABE'

No Fatal error(s)

A0>ASM =FSTART

No Fatal error(s)



Linken geht trotzdem nicht:

Quellcode:


A0>LINK131 LOOP80=LOOP80,FSTART
LINK 1.31
UNRECOGNIZED ITEM
UNRECOGNIZED ITEM
UNRECOGNIZED ITEM
UNRECOGNIZED ITEM
UNRECOGNIZED ITEM
UNRECOGNIZED ITEM
UNRECOGNIZED ITEM
UNRECOGNIZED ITEM
UNRECOGNIZED ITEM
UNRECOGNIZED ITEM
UNRECOGNIZED ITEM
UNRECOGNIZED ITEM
UNRECOGNIZED ITEM
UNRECOGNIZED ITEM

BSMOD    0C99   CTINT    01EE   ITAKT    0
PIINT    01E6   SIDE2    00F2   AIANF    00AD   AIBUFF   0060
AOBUFF   0080   BSSTAT   00B6   CIBUFF   0000   COBUFF   0020
CONTR    00B1   ESCTBH   00B8   ESCTBL   00B7   IOBYTE   00AC
LOBUFF   0040   MEMANF   00AE   SECTOR   00B0   SIDE0    00F0
SIDE1    00F1   SIDE3    00F3   SIZE     00B2   TRACK    00AF
ZAIF     00A5   ZAIK     00A4   ZAOF     00AB   ZAOK     00AA
ZCIF     00A1   ZCIK     00A0   ZCOF     00A7   ZCOK     00A6
ZLOF     00A9   ZLOK     00A8

UNDEFINED SYMBOLS:

CURSOR  INITT   TOP     BST1    CANTRD  CC      CC4     CC4END
CC4LD   CLS8    ESCTAB  KC4     KTAB    LOPEND  LOPLD   NOTRDY
NSYSL   OK      OUT4    OUT4EN  OUT4LD  OUTINC  SCR     SCR4EN
SCR4LD  SYSEND  SYSL    SYSLD   UROK

ABSOLUTE     0000
CODE SIZE    0FF3 (0100-10F2)
DATA SIZE    0000
COMMON SIZE  0000
USE FACTOR     09



Da bin ich mit meinem Latein (vorerst) am Ende.

Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
13.04.2019, 13:33 Uhr
holm

Avatar von holm

Der linker scheint auf dem Digital Research Linker für CP/M zu basieren, das Mopped kenne ich aber auch nicht (da sollte es hier erfahrenere Leute geben). Wo erden denn die undefinierten Symbole verwendet?

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek