view interps/clc-intercal/CLC-INTERCAL-Base-1.-94.-2/blib/lib/Language/INTERCAL/Include/asm.iacc @ 9071:581584df6d82

<fizzie> revert 942e964c81c1
author HackBot
date Sun, 25 Sep 2016 20:17:31 +0000
parents 859f9b4339e6
children
line wrap: on
line source

PLEASE NOTE: IACC FILE TO GENERATE A BYTECODE ASSEMBLER

Copyright (c) 2006-2008 Claudio Calvelli, all rights reserved.

CLC-INTERCAL is copyrighted software. However, permission to use, modify,
and distribute it is granted provided that the conditions set out in the
licence agreement are met. See files README and COPYING in the distribution.

PERVERSION "CLC-INTERCAL INTERCAL/Include/asm.iacc 1.-94.-2"

	DO %BA <- #2
	DO %RT <- ?TRADITIONAL
	DO %WT <- #0
	DO %CR <- ?ASCII
	DO %CW <- ?ASCII
	DO ?TYPE <- ?ASSEMBLER

	DO CREATE _2 ?BYTECODE ?SPECIAL_REGISTER=* AS ?SPECIAL_REGISTER
	   #1
	DO CREATE _2 ?BYTECODE ,#35, ?CONSTANT=1 AS ?CONSTANT #1

	DO CREATE _2 ?PROGRAM ?MAYBE_LABEL ?STATEMENT AS STS + * +
	   ?MAYBE_LABEL #1 + ?STATEMENT #1

	DO CREATE _2 ?END_JUNK ,DO, AS ,,
	DO CREATE _2 ?END_JUNK ,PLEASE, AS ,,
	DO CREATE _2 ?END_JUNK ?LABEL AS ,,
	DO CREATE _2 ?END_JUNK ,#91, AS ,,

	DO CREATE _2 ?DO_PLEASE ,DO, AS ,,
	DO CREATE _2 ?DO_PLEASE ,PLEASE, AS ,,
	DO CREATE _2 ?DO_PLEASE ,PLEASE, ,DO, AS ,,

	DO CREATE _2 ?STATEMENT ,#91, ?BC_LIST ,#93, AS ?BC_LIST #1
	DO CREATE _2 ?STATEMENT ?DO_PLEASE ?NOT ?JUNK AS NOT

	DO CREATE _2 ?NOT ,NOT, AS ,,
	DO CREATE _2 ?NOT ,N, ,#39, ,T, AS ,,
	DO CREATE _2 ?NOT ,#172, AS ,,

	DO CREATE _2 ?MAYBE_LABEL ,, AS ,,
	DO CREATE _2 ?MAYBE_LABEL ,#40, ?CONSTANT ,#41, AS LAB +
	   ?CONSTANT #1

	DO CREATE _2 ?BC_LIST ,, AS ,,
	DO CREATE _2 ?BC_LIST ?BYTECODE=* ?BC_LIST=* AS ?BYTECODE #1 +
	   ?BC_LIST #1
	DO CREATE _2 ?BC_LIST ,#91, ?INNER_LIST=* ,#93, ?BC_LIST AS
	   !INNER_LIST #1 + ?INNER_LIST #1 + ?BC_LIST #1
	DO CREATE _2 ?BC_LIST ,#123, ?BC_LIST=* ,#125, ?BC_LIST AS
	   !BC_LIST #1 + ?BC_LIST #1 + ?BC_LIST #2

	DO CREATE _2 ?INNER_LIST ?BC_LIST=1 AS ?BC_LIST #1
	DO CREATE _2 ?INNER_LIST ?BC_LIST=1 ,#43, ?INNER_LIST=* AS
	   ?BC_LIST #1 + ?INNER_LIST #1


PLEASE NOTE: NAMES OF "%" REGISTERS
	DO CREATE _2 ?SPECIAL_REGISTER ,#37, ?REG69=* AS ?REG69 #1
	DO CREATE _2 ?REG69 ,WT,=2 AS %WT
	DO CREATE _2 ?REG69 ,AR,=2 AS %AR
	DO CREATE _2 ?REG69 ,AW,=2 AS %AW
	DO CREATE _2 ?REG69 ,JS,=2 AS %JS
	DO CREATE _2 ?REG69 ,SS,=2 AS %SS
	DO CREATE _2 ?REG69 ,PS,=2 AS %PS
	DO CREATE _2 ?REG69 ,FS,=2 AS %FS
	DO CREATE _2 ?REG69 ,ES,=2 AS %ES
	DO CREATE _2 ?REG69 ,IS,=2 AS %IS
	DO CREATE _2 ?REG69 ,DM,=2 AS %DM
	DO CREATE _2 ?REG69 ,SP,=2 AS %SP
	DO CREATE _2 ?REG69 ,RT,=2 AS %RT
	DO CREATE _2 ?REG69 ,TH,=2 AS %TH
	DO CREATE _2 ?REG69 ,RM,=2 AS %RM
	DO CREATE _2 ?REG69 ,IO,=2 AS %IO
	DO CREATE _2 ?REG69 ,BA,=2 AS %BA
	DO CREATE _2 ?REG69 ,CF,=2 AS %CF
	DO CREATE _2 ?REG69 ,CR,=2 AS %CR
	DO CREATE _2 ?REG69 ,CW,=2 AS %CW
	DO CREATE _2 ?REG69 ,OS,=2 AS %OS
	DO CREATE _2 ?REG69 ,TM,=2 AS %TM

PLEASE NOTE: NAMES OF "@" REGISTERS
	DO CREATE _2 ?SPECIAL_REGISTER ,#64, ?REG68=* AS ?REG68 #1
	DO CREATE _2 ?REG68 ,OR,=2 AS @OR
	DO CREATE _2 ?REG68 ,OWFH,=2 AS @OWFH
	DO CREATE _2 ?REG68 ,ORFH,=2 AS @ORFH
	DO CREATE _2 ?REG68 ,OSFH,=2 AS @OSFH
	DO CREATE _2 ?REG68 ,SNFH,=2 AS @SNFH
	DO CREATE _2 ?REG68 ,TRFH,=2 AS @TRFH

PLEASE NOTE: NAMES OF "^" REGISTERS
	DO CREATE _2 ?SPECIAL_REGISTER ,#94, ?REG70=* AS ?REG70 #1
	DO CREATE _2 ?REG70 ,AV,=2 AS ^AV
	DO CREATE _2 ?REG70 ,EV,=2 AS ^EV

PLEASE NOTE: "BYTECODE" INSTRUCTION NAMES
	DO CREATE _2 ?BYTECODE ,ABG,=1 AS ABG
	DO CREATE _2 ?BYTECODE ,ABL,=1 AS ABL
	DO CREATE _2 ?BYTECODE ,AWC,=1 AS AWC
	DO CREATE _2 ?BYTECODE ,BAW,=1 AS BAW
	DO CREATE _2 ?BYTECODE ,BBT,=1 AS BBT
	DO CREATE _2 ?BYTECODE ,BSW,=1 AS BSW
	DO CREATE _2 ?BYTECODE ,BUG,=1 AS BUG
	DO CREATE _2 ?BYTECODE ,BUT,=1 AS BUT
	DO CREATE _2 ?BYTECODE ,BWC,=1 AS BWC
	DO CREATE _2 ?BYTECODE ,CFG,=1 AS CFG
	DO CREATE _2 ?BYTECODE ,CFL,=1 AS CFL
	DO CREATE _2 ?BYTECODE ,CHO,=1 AS CHO
	DO CREATE _2 ?BYTECODE ,CON,=1 AS CON
	DO CREATE _2 ?BYTECODE ,CRE,=1 AS CRE
	DO CREATE _2 ?BYTECODE ,CSE,=1 AS CSE
	DO CREATE _2 ?BYTECODE ,CWB,=1 AS CWB
	DO CREATE _2 ?BYTECODE ,DES,=1 AS DES
	DO CREATE _2 ?BYTECODE ,DOS,=1 AS DOS
	DO CREATE _2 ?BYTECODE ,DSX,=1 AS DSX
	DO CREATE _2 ?BYTECODE ,EBC,=1 AS EBC
	DO CREATE _2 ?BYTECODE ,ECB,=1 AS ECB
	DO CREATE _2 ?BYTECODE ,ENR,=1 AS ENR
	DO CREATE _2 ?BYTECODE ,ENS,=1 AS ENS
	DO CREATE _2 ?BYTECODE ,FIN,=1 AS FIN
	DO CREATE _2 ?BYTECODE ,FLA,=1 AS FLA
	DO CREATE _2 ?BYTECODE ,FOR,=1 AS FOR
	DO CREATE _2 ?BYTECODE ,FRE,=1 AS FRE
	DO CREATE _2 ?BYTECODE ,FRZ,=1 AS FRZ
	DO CREATE _2 ?BYTECODE ,GRA,=1 AS GRA
	DO CREATE _2 ?BYTECODE ,GUP,=1 AS GUP
	DO CREATE _2 ?BYTECODE ,HSN,=1 AS HSN
	DO CREATE _2 ?BYTECODE ,HYB,=1 AS HYB
	DO CREATE _2 ?BYTECODE ,IGN,=1 AS IGN
	DO CREATE _2 ?BYTECODE ,INT,=1 AS INT
	DO CREATE _2 ?BYTECODE ,LAB,=1 AS LAB
	DO CREATE _2 ?BYTECODE ,LEA,=1 AS LEA
	DO CREATE _2 ?BYTECODE ,MKG,=1 AS MKG
	DO CREATE _2 ?BYTECODE ,MSP,=1 AS MSP
	DO CREATE _2 ?BYTECODE ,MUL,=1 AS MUL
	DO CREATE _2 ?BYTECODE ,NOT,=1 AS NOT
	DO CREATE _2 ?BYTECODE ,NUM,=1 AS NUM
	DO CREATE _2 ?BYTECODE ,NXG,=1 AS NXG
	DO CREATE _2 ?BYTECODE ,NXL,=1 AS NXL
	DO CREATE _2 ?BYTECODE ,NXT,=1 AS NXT
	DO CREATE _2 ?BYTECODE ,OPT,=1 AS OPT
	DO CREATE _2 ?BYTECODE ,OSN,=1 AS OSN
	DO CREATE _2 ?BYTECODE ,OVM,=1 AS OVM
	DO CREATE _2 ?BYTECODE ,OVR,=1 AS OVR
	DO CREATE _2 ?BYTECODE ,OWN,=1 AS OWN
	DO CREATE _2 ?BYTECODE ,QUA,=1 AS QUA
	DO CREATE _2 ?BYTECODE ,REG,=1 AS REG
	DO CREATE _2 ?BYTECODE ,REL,=1 AS REL
	DO CREATE _2 ?BYTECODE ,REM,=1 AS REM
	DO CREATE _2 ?BYTECODE ,RES,=1 AS RES
	DO CREATE _2 ?BYTECODE ,RET,=1 AS RET
	DO CREATE _2 ?BYTECODE ,RIN,=1 AS RIN
	DO CREATE _2 ?BYTECODE ,ROM,=1 AS ROM
	DO CREATE _2 ?BYTECODE ,ROR,=1 AS ROR
	DO CREATE _2 ?BYTECODE ,ROU,=1 AS ROU
	DO CREATE _2 ?BYTECODE ,RSE,=1 AS RSE
	DO CREATE _2 ?BYTECODE ,SEL,=1 AS SEL
	DO CREATE _2 ?BYTECODE ,SHF,=1 AS SHF
	DO CREATE _2 ?BYTECODE ,SMU,=1 AS SMU
	DO CREATE _2 ?BYTECODE ,SPL,=1 AS SPL
	DO CREATE _2 ?BYTECODE ,SPO,=1 AS SPO
	DO CREATE _2 ?BYTECODE ,STA,=1 AS STA
	DO CREATE _2 ?BYTECODE ,STE,=1 AS STE
	DO CREATE _2 ?BYTECODE ,STO,=1 AS STO
	DO CREATE _2 ?BYTECODE ,STR,=1 AS STR
	DO CREATE _2 ?BYTECODE ,STS,=1 AS STS
	DO CREATE _2 ?BYTECODE ,STU,=1 AS STU
	DO CREATE _2 ?BYTECODE ,SUB,=1 AS SUB
	DO CREATE _2 ?BYTECODE ,SWA,=1 AS SWA
	DO CREATE _2 ?BYTECODE ,SWB,=1 AS SWB
	DO CREATE _2 ?BYTECODE ,SYS,=1 AS SYS
	DO CREATE _2 ?BYTECODE ,TAI,=1 AS TAI
	DO CREATE _2 ?BYTECODE ,TSP,=1 AS TSP
	DO CREATE _2 ?BYTECODE ,TYP,=1 AS TYP
	DO CREATE _2 ?BYTECODE ,UDV,=1 AS UDV
	DO CREATE _2 ?BYTECODE ,UNE,=1 AS UNE
	DO CREATE _2 ?BYTECODE ,UNS,=1 AS UNS
	DO CREATE _2 ?BYTECODE ,USG,=1 AS USG
	DO CREATE _2 ?BYTECODE ,WHP,=1 AS WHP
	DO CREATE _2 ?BYTECODE ,WIN,=1 AS WIN

	DO GIVE UP