|
|
DataMuseum.dkPresents historical artifacts from the history of: Bogika Butler |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Bogika Butler Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 4992 (0x1380)
Types: TextFile
Names: »SYNTAX2.TXT«
└─⟦9dfa17898⟧ Bits:30009789/_.ft.Ibm2.50007352.imd Mogens Pelles Zilog 80,000 / EOS projekt
└─⟦this⟧ »SYNTAX2.TXT«
└─⟦bfec2519f⟧ Bits:30009789/_.ft.Ibm2.50007346.imd Mogens Pelles Zilog 80,000 / EOS projekt
└─⟦this⟧ »SYNTAX2.TXT«
Syntaks for assemblerkildetekst.
<program> ::= <statement> <statement list>
<statement list> ::= NIL ! <statement> <statement list>
<statement> ::= <label field> <operation field> <comment field> <CR> <LF>
<comment field> ::= NIL ! <comment-id> <comment>
<comment-id> ::= ;
<comment> ::= NIL ! <ASCII sequence>
<label field> ::= NIL ! <identifier> :
<operation field> ::= NIL ! <operation> <operand field>
<operation> ::= <directive> ! <instruction> ! <macro call>
<directive> ::= . <d-token>
<d-token> ::=
<instruction> ::=
<macro call> ::= <identifier>
<operand field> ::= NIL ! <operand> <operand list>
<operand list> ::= NIL ! , <operand> <operand list>
<operand> ::= <expression> !
<mask> !
<condition code> !
<flags> !
<interrupts>
<control register>
# <expression> !
<register> !
@ <register> !
<expression> ( <register> ) !
<register> ( # <expression> ) !
<register> ( <register> ) !
(* Z80.000 BX *)
<expression> ::= <subexpression> <opexp> !
"<<" <expression> ">>" <subexpression> !
<opexp> ::= NIL ! <dyadic opr> <subexpression> <opexp>
<subexpression> ::= <monadic opr> <subexpression> !
( <expression> ) !
<identifier> !
<literal> !
<string constant>
<dyadic opr> ::= + ! - ! * ! / ! MOD ! AND ! OR ! XOR ! SHL ! SHR
<monadic opr> ::= + ! - ! SGM ! OFS ! CPT ! LIN ! NOT
<mask> ::=
<interrupts> ::= VI ! NVI
<condition code> ::= NIL !
F ! T
Z ! NZ !
C ! NC !
PL ! MI !
NE ! EQ !
OV ! NOV !
PE ! PO !
GE ! LT !
GT ! LE !
UGE ! ULT !
UGT ! ULE
<flags> ::= C ! Z ! S ! P ! V
<register> ::= <byte register> ! <word register> !
<long register> ! <quad register> !
<byte register> ::= RH0 ! RL0 ! RH1 ! RL1 ! RH2 ! RL2 ! RH3 ! RL3 !
RH4 ! RL4 ! RH5 ! RL5 ! RH6 ! RL6 ! RH7 ! RL7
<word register> ::= R0 ! R1 ! R2 ! R3 ! R4 ! R5 ! R6 ! R7 !
R8 ! R9 ! R10 ! R11 ! R12 ! R13 ! R14 ! R15
<long register> ::= RR0 ! RR2 ! RR4 ! RR6 ! RR8 ! RR10 ! RR12 ! RR14 !
RR16 ! RR18 ! RR20 ! RR22 ! RR24 ! RR26 ! RR28 ! RR30
<quad register> ::= RQ0 ! RQ4 ! RQ8 ! RQ12 ! RQ16 ! RQ20 ! RQ24 ! RQ28
<control register> ::= PS ! PC ! FCW ! PSAP ! NSP ! OSP ! HICR ! SCCL !
SITTD ! SDTTD ! NITTD ! NDTTD !
PSAPSEG ! PSAPOFF ! NSPSEG ! NSPOFF (* Z8001,Z8002 *)
<string constant> ::= ' <ASCII sequence> '
---------------------------------------------------------------------------------
<identifier> ::= <alfa> (<alfa> ! <num>)*
<literal> ::= (NIL ! % ) (num)+
<ASCII sequence> ::= (<alfa> ! <num> ! <spec>)*
<num> ::= 0 ! 1 ! 2 ! 3 ! 4 ! 5 ! 6 ! 7 ! 8 ! 9 !
A ! B ! C ! D ! E ! F
<alfa> ::= A ! B ! C ! D ! E ! F ! G ! H ! I ! J !
K ! L ! M ! N ! O ! P ! Q ! R ! S ! T !
U ! V ! W ! X ! Y ! Z !
a ! b ! c ! d ! e ! f ! g ! h ! i ! j !
k ! l ! m ! n ! o ! p ! q ! r ! s ! t !
u ! v ! w ! x ! y ! z ! _ ! $
<spec> ::= "!" ! " ! # ! % ! & ! ' ! ( ! ) !
= ! ^ ! - ! @ ! * ! : ! + ! ; ! < ! > ! ? !
, ! . ! / ! Æ ! Ø ! Å ! æ ! ø ! å
---------------------------------------------------------------------------------
Operatorprecedens.
------------------
Operatorerne med højeste præcedensniveau evalueres først.
1) +, -, OR, XOR (* +, - er dyadiske operatorer *)
2) *, /, MOD, AND, SHL, SHR
3) +, -, SGM, OFS, CPT, LIN, NOT (* +, - er monadiske operatorer *)
Ukendte notationsformer.
------------------------
Notationen for følgende konstruktioner er endnu ikke fastlagt:
1) Operander med adresseringsmåden BX.
2) Masker.
3) Flag.
4) Styreregistre.«eof»