MAKRO-11

MAKRO-11
Paradigm ostrukturerad , imperativ
Familj assembleringsspråk
Utvecklare Digital Equipment Corporation
Dök först upp 1980 ; 43 år sedan ( 1980 )
Maskinskrivningsdisciplin Oskrivet
Omfattning Lexikalisk
Implementeringsspråk assembleringsspråk
Plattform PDP-11
OS Alla DEC PDP-11
Influerad av
PAL-11R
Influerad
VAX MACRO

MACRO-11 är ett assemblerspråk med makrofunktioner , designat för PDP-11 minidatorfamiljen från Digital Equipment Corporation ( DEC). Det är efterföljaren till Program Assembler Loader ( PAL-11R ), en tidigare version av assemblerspråket PDP-11 utan makrofaciliteter.

MACRO-11 stöddes på alla DEC PDP-11 operativsystem. PDP-11 Unix -system inkluderar också en assembler (namngiven som ), strukturellt lik MACRO-11, men med annan syntax och färre funktioner. MACRO-11-assembleraren (och program skapade av den) kan också köras under RSX-11- kompatibilitetsläget för OpenVMS VAX .

Programmeringsexempel

Ett komplett " Hello, world! "-program i PDP-11 macro assembler, att köras under RT-11 :

           
          
      
          
                  
                  
                     
   

      
             .TITLE  HEJ  VÄRLDEN  .MCALL  .TTYOUT  ,  .EXIT  HELLO:  :  MOV  #MSG,R1 ;STARTADRESS PÅ STRÄNG  1  $:  MOVB  (  R1  )  +  ,  R0  ;HÄMTA NÄSTA KARAKTÄR  BEQ  DONE  ;OM OUT, EXIT  LOOP  ANDRE SKRIV UT DEN   BR  1  $  ;  REPEAT LOOP  KLAR:  .EXIT  MSG:  .ASCIZ  /  Hej  världen  !  /  .SLUT  HEJ 

.MCALL pseudo-op varnar assemblern att koden kommer att använda makrona .TTYOUT och .EXIT . Makron .TTYOUT och .EXIT är definierade i standardsystemets makrobibliotek för att expandera till EMT- instruktionerna för att anropa RT-11-monitorn för att utföra de begärda funktionerna.

Om den här filen är HELLO.MAC , är RT-11- kommandona för att montera, länka och köra (med konsolutgång visad) följande:

 
   0

 

 
 
 .MAKRO  HEJ  FEL  UPPTÄCKT  :  .LINK  HELLO  .R  HEJ  Hej  ,  världen  !  . 

(RT-11-kommandotolken är " . " )

För ett mer komplicerat exempel på MACRO-11-kod, två slumpmässigt valda exempel är Kevin Murrells KPUN.MAC, eller Farba Researchs JULIAN-rutin. Mer omfattande bibliotek med PDP-11-kod finns i Metalabs freeware- och Trailing Edge-arkiv.

externa länkar