Robotrontechnik-Forum

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

Robotrontechnik-Forum » Technische Diskussionen » Was bedeutet ein # im Assemblerquellcode? » Themenansicht

Autor Thread - Seiten: -1-
000
08.12.2017, 20:03 Uhr
u808



Hallo !
Bei den Assemblerlistings in den "Kleinstrechner Tips" ist mir aufgefallen das oft ein # verwendet wird, wie im folgenden Beispiel:

CMP 4
JRNC M1-#
OR A
JRZ M1-#
CALL ASCII

Ich habe in meiner Bibliothek und im Internet keine Antwort gefunden was das # macht ,was das ist bzw. für was das steht.
Hat jemand eine Erklärung für mich , Danke!

Viele Grüße
Sven
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
08.12.2017, 20:27 Uhr
holm

Avatar von holm

Das ist die Syntax des MRES Assemblers, das Bezeichnet Sprungziele so wie es aussieht.
Verallgemeinern kann man das aber nicht, es gibt viele verschiedene Dialekte.

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
08.12.2017, 23:19 Uhr
Hobi



das # steht als Symbol für den aktuellen PC. Demnach ist es die Differenz aus M1-PC.

Was ich noch nie probiert habe ist, ob dieses Symbol tatsächlich ein echtes Symbol ist oder nur in der Syntax mit JR/DJNZ vorkommt. Wie z.B.

test: EQU #

data: DB 00, 00, 00, 00
len_of_data: EQU #-data

Nachtrag, jetzt habe ich es beim EDAS ausprobiert und es funktioniert:

Quellcode:

00010 M1:    DJNZ M1-#   ; Programm beginn ab 200h
00020 M2:    EQU  #-M1   ; M2 wird als 202h-200h angenommen
00030 M3:    EQU  #        ; M3 steht für PC, die Adresse nach DJNZ: 202h
00040        DA   M3         ; DA 202h
00050        DB   M2         ; DB 02h

hex-dump:
0200   10 FE 02 02 02




Viele Assembler haben bieten das Feature an, den aktuellen PC als Symbol zu referenzieren. Beim SDAS ist es das Symbol . .
--
-------------------------------------------
Corontäne
-------------------------------------------

Dieser Beitrag wurde am 08.12.2017 um 23:55 Uhr von Hobi editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
16.12.2017, 06:10 Uhr
Hobi



oder um aus der GENS-Anleitung zu zitieren (dort wird & verwendet):


Der Assembler verwaltet einen Adresszaehler. Mit der
ORG- Anweisung kann dieser gesetzt werden. Mit dem
Symbol "&" kann auf den Adresszaehler zugegriffen werden.
z.B. LD HL,&+5 laedt HL mit dem Wert Adresszaehler+5.

--
-------------------------------------------
Corontäne
-------------------------------------------

Dieser Beitrag wurde am 16.12.2017 um 06:11 Uhr von Hobi editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
16.12.2017, 20:56 Uhr
robbi
Default Group and Edit
Avatar von robbi

SYPS-K1520
--
Schreib wie du quatschst, dann schreibst du schlecht.
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