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 - download

⟦5436f20ca⟧ TextFile

    Length: 2944 (0xb80)
    Types: TextFile
    Names: »EXTDEFS.MAC«

Derivation

└─⟦832e7e234⟧ Bits:30003263 Butler systemdiskette
└─⟦832e7e234⟧ Bits:30004286 Butler systemdiskette
    └─ ⟦this⟧ »EXTDEFS.MAC« 
└─⟦ccbc2d84d⟧ Bits:30004597 Boot 60k CP/M (Butler)
    └─ ⟦this⟧ »EXTDEFS.MAC« 
└─⟦d823d3189⟧ Bits:30004365 Butler CP/M 2.2 systemdiskette fra LFU
    └─ ⟦this⟧ »EXTDEFS.MAC« 

TextFile

	.Z80
	.XLIST
;
; Macro definitions used when writing "EXTENSIONS" to the
; METANIC COMAL-80 interpreter version 2.
; The macro definitions are intentioned for use with the
; MACRO-80 macro assembler from Microsoft. 
;
; Version 1 written  830324
;		 by  Arne Christensen
;	  who is of  Metanic ApS
;		     Kongevejen 177
;		     DK-2830 Virum
;		     Denmark
;

SETNAME MACRO	NAME
@&NAME	EQU	@NO
@NO	DEFL	@NO+1
	ENDM

SKIP	MACRO	AMOUNT
@NO	DEFL	@NO+AMOUNT
	ENDM

DEF0	MACRO	NAMES
	IRP	Y,<NAMES>
	SETNAME Y
Y	MACRO	
	DB	@&Y
	ENDM
	ENDM
	ENDM

DEF1	MACRO	NAMES
	IRP	Y,<NAMES>
	SETNAME Y
Y	MACRO	PARAM
	DB	@&Y,PARAM
	ENDM
	ENDM
	ENDM
	 
@NO	DEFL	0
	DEF0	<ATN,COS,SIN,TAN,LOG,EXP,SQR,ESC,ERR,EOD>
	DEF0	<EOF,LEN,ORD,IVAL,VAL,INT,FRAC,TRUNC,ROUND>
	DEF0	<POS,BVAL,CHR,STR,I.STR,ERRTEXT,SGN,I.SGN>
	DEF0	<ABS,I.ABS,RND0,RND2,SPC,PEEK,INP,BSTR,VARPTR>
	SKIP	6
	DEF0	<FREEST>

	DEF0	<ENDEXPR,CONV1,CONV,REALINT,RLBL1,RLBL>
	SKIP	5
	DEF1	<INX>
	SKIP	2
	DEF0	<LDVAL>

	DEF1	<SYSVAR>
@X	DEFL	0
	IRP	Y,<ZONE,INDENT,PAGEWI,PAGELE,KWLOWER,IDLOWER>
Y	EQU	@X
@X	DEFL	@X+1
	ENDM

	SKIP	10
	
	SETNAME STRCON
STRCON	MACRO	STRING
	LOCAL	STREND
	DB	@STRCON      
	DW	STREND-$-2
	DB	STRING
STREND:
	ENDM
	
	SKIP	1

	SETNAME INTCON
INTCON	MACRO	NUMBER
	DB	@INTCON
	DW	NUMBER
	ENDM

	DEF0	<TRUE,FALSE>
	SKIP	2
	DEF0	<CHS,POWER,TIMES,SLASH,DIV,MOD,PLUS,MINUS,IN>
	DEF0	<LEQ,LSS,GEQ,GTR,EQL,NEQ,B.AND,B.OR,B.NOT>
	DEF0	<S.PLUS,I.TIMES,I.CHS,I.DIV,I.MOD,I.PLUS,I.MINUS>
	DEF0	<I.LEQ,I.LSS,I.GEQ,I.GTR,I.EQL,I.NEQ>
	DEF0	<S.LEQ,S.LSS,S.GEQ,S.GTR,S.EQL,S.NEQ>
	DEF0	<UROUND>
	DEF1	<LOAD,STORE>
	DEF0	<STVAL>

EXPR	MACRO
	CALL	103H
	ENDM

INTREAL EQU	1
INT	EQU	2
REAL	EQU	3
STR	EQU	4
ANYTYPE EQU	9

ANYDIM	EQU	-3

       
DEFPRIORITY MACRO PRIORITY,NAMES
	IRP	Y,<NAMES>
@@&Y	EQU	PRIORITY
	ENDM
	ENDM

	DEFPRIORITY 7,<ARROW>
	DEFPRIORITY 6,<TIMES,SLASH,DIV,MOD>
	DEFPRIORITY 5,<PLUS,MINUS,CHS>
	DEFPRIORITY 4,<LEQ,LSS,GEQ,GTR,EQL,NEQ,IN>
	DEFPRIORITY 3,<B.NOT>
	DEFPRIORITY 2,<B.AND>
	DEFPRIORITY 1,<B.OR>

EXTENSION MACRO NAME,USENAM
	LOCAL	NAMEEND
	IFB	<USENAM>
	 DW	?&NAME
	 DS	1
	 DW	NAME
	ELSE
	 DW	?&USENAM
	 DS	1
	 DW	USENAM
	ENDIF
	DB	NAMEEND-$-1
	DB	'&NAME'
NAMEEND:
	ENDM

OPERATOR MACRO	X1,X2,X3,X4
	IFB	<X4>	;; UNARY OPERATOR
	 DEFB	80H+X1,0,X2,@@&X3
	ELSE
	 DEFB	80H+X1,X2,X3,@@&X4
	ENDIF
@OPER	DEFL	1
	ENDM

FUNCTION MACRO	TYPE
	DB	TYPE
@OPER	DEFL	0
	ENDM

STATEMENT MACRO 
	DB	0
@OPER	DEFL	0
	ENDM

PARAMETER MACRO X1,X2
	IFB	<X2> ;; VALUE
	 DB	-1,X1
	ELSE
	 DB	X1,X2 
	ENDIF
	ENDM

ENDEXT	MACRO	NAME,USENAM
	IFF	@OPER
	 DB	 -2
	ENDIF
	IFB	<USENAM>
?&NAME:
	ELSE	      
?&USENAM:
	ENDIF
	ENDM

ENDALLEXT MACRO NAME,USENAM
	IFF	@OPER
	 DB	-2
	ENDIF
	IFB	<USENAM>
?&NAME	 EQU	0
	ELSE
?&USENAM EQU	0
	ENDIF
	ENDM

	.LIST
	.SALL  
«eof»