DataMuseum.dk

Presents historical artifacts from the history of:

Bogika Butler

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Bogika Butler

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦4e0a5d884⟧ TextFile

    Length: 4992 (0x1380)
    Types: TextFile
    Names: »SYNTAX2.TXT«

Derivation

└─⟦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« 

TextFile



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»