Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-06 - 43,50366/recsm8.mac
There are no other files named recsm8.mac in the archive.
	IBP ,AC6
	HRRZ TEM,AC6
	CAIE TEM,F.NAM+1
	JRST F.SPC
	DPB CHREC,AC6
	JRST F.EXT+2
F.SPC:	MOVSI AC1,(SIXBIT/DSK/)
	SKIPN ,F.DEV
	MOVEM AC1,F.DEV
	POPJ REC,
F.SP2:	MOVE F.DEV
	MOVEM F.NAM
	SETZM F.DEV
	JRST F.SP1+3

F.PPN:	CLEAR AC2,
	ILDB CHREC,AC1
	CAIN CHREC,","
	JRST F.PPN1
	CAIN CHREC,"]"
	JRST F.PPN2
	CAIN CHREC,15
	JRST F.PPN2
	JUMPE CHREC,F.PPN2
	ANDI CHREC,7
	ROT AC2,3
	OR AC2,CHREC
	JRST F.PPN+1
F.PPN1:	HRLM AC2,F.NAM+3
	JRST F.PPN
F.PPN2:	HRRM AC2,F.NAM+3
	JRST F.SPC

CLARG:	SETZM ,ARGIO
	SETZM ,ARGIO+1
	SETZM ,ARGIO+2
	SETZM ,ARGIO+3
	SETZM ,ARGIO+4
	SETZM ,ARGIO+5
	HRRI AC1,ARGIO
	HLL AC1,[POINT 7, ,]
	POPJ REC,



	REPEAT 0,<SUBRUTINA PARA MENSAJES DE ERROR>



ERR1:	MOVEI AC1,ER1
ERROR:	TTCALL 3,@AC1
	MOVEI AC1,CRLF
	TTCALL 3,@AC1
	CLEAR
	CALL [SIXBIT /EXIT/]
ERR2:	TTCALL 3,ER2
	POPJ REC,
ERR3:	MOVEI AC1,ER3
	JRST ERROR
ERR4:	TTCALL 3,ARGIO
	TTCALL 3,CRLF
	TTCALL 3,ER4
	CALL [SIXBIT /EXIT/]
ERR6:	TTCALL 3,ER6
	CLEAR
	CALL  [SIXBIT /EXIT/]

ER1:	ASCIZ /15 "(" CONSECUTIVOS/
ER2:	ASCIZ / OPR NO DEF./
ER3:	ASCIZ /SUBR.MAL DEF./
ER4:	ASCIZ /APARATO NO DISPONIBLE./
ER6:	ASCIZ /NO HAY MEMORIA./
CRLF:	ASCIZ /
/
INDEV:	ASCIZ /ENT>/
TERM:	ASCIZ/*/

INPUSH:	XWD -477,APUSH
	SUBTTL TABLAS DE COMPILACION

TDSC:	XWD 0,SK
	XWD RTEXT1,COMPI
	XWD QUOTE,COMPA
	XWD C.NUM,COMPI
	XWD CONT,CPCON
	XWD CNA,COMPI
	XWD SYSF,COMPI
	XWD QUOTE,COMPA
	XWD 00,PIZQ
	XWD 00,PDER
	XWD MULT,COMPI
	XWD SUMA,COMPI
	XWD 0,SK
	XWD LOADAC,C.REST
	XWD 0,SK
	XWD DIV,COMPI
	REPEAT 12,<XWD LOADAC,COMPNU>
	XWD 00,PD
	XWD 00,PC
	XWD SWS,COMPI
	XWD EQ,PR
	XWD RWS,COMPI
	XWD CAN,COMPI
	XWD 0,CSBR
	XWD A,PR
	XWD B,PR
	XWD C,PR
	XWD D,COMPI
	XWD E,PR
	XWD F,PR
	XWD G,COMPI
	XWD H,PR
	XWD I,COMPI
	XWD J,COMPI
	XWD K,PR
	XWD L,COMPI
	XWD M,PR
	XWD N,PR
	XWD O,COMPI
	XWD P,PR
	XWD Q,COMPI
	XWD R,PR
	XWD S,COMPI
	XWD T,COMPI
	XWD U,PR
	XWD V,PR
	XWD W,COMPI
	XWD X,COMPI
	XWD Y,COMPI
	XWD Z,COMPI
	XWD 0,COMEN
	XWD MOD,COMPI
	XWD 0,SK
	XWD REPPDL,COMPI
	XWD 0,SK

         SUBTTL SUBRUTINAS PARA LOS OPERADORES DE REC MARKOV






	

	PDLARG=1000
        ENDF=40000



         DEFINE OK (A,B,NO)
                    <CAMN A,B
                    JRST NO>




         REPEAT 0,<ESTA SUBRUTINA SIRVE PARA AVANZAR EL APUNTADOR
                   TEXT2 ES LLAMADA EN REC POR EL SIMBOLO A>

A:	OK (TEXT1,TEXT3,A.F-1)
	CAMN TEXT1,TEXT2
	JRST A.F
	MOVEM TEXT1,TEXT11
         IBP TEXT1
	AOS ,(REC)
	POPJ REC,
A.F:	IBP TEXT1
	MOVE TEXT2,TEXT1
	JRST A.F-2






         REPEAT 0,< SUBRUTINA PARA REGRESAR EL APUNTADOR
                    TEXT1,SI EL APUNTADOR TEXT1 ES IGUAL A
                    TEXT0 LA SUBRUTINA TOMA EL VALOR FALSO>

B:	OK (TEXT1,TEXT0,BT2)
	MOVEM TEXT1,TEXT11
         LDB ,PP
         ADDI ,7
	CAIE ,44
	JRST BT1
	MOVEI AC1,1
         DPB AC1,PP
	SUBI TEXT1,1
	AOS ,(REC)
	POPJ REC,
BT1:     DPB ,PP
	AOS ,(REC)
BT2:	POPJ REC,





         REPEAT 0,<LA SUBRUTINA D NOS BORRA UN TEXTO QUE SE ENCUENTRE
                   LOS APUNTADORES TEXT1 Y TEXT2 INCLUSIVE>


D:	MOVEM AC4,SAC+4
	MOVEM AC5,SAC+5
	OK(TEXT1,TEXT3,DT3)
	OK(TEXT2,TEXT3,DT3)
         MOVE TEXT1
	MOVE AC1,[XWD LOOPD,LOOPDF]
	BLT AC1,LOOPDF+4
LOOPD:	PHASE 2
LOOPDF:	ILDB AC1,TEXT2
	IDPB AC1,
	CAMN TEXT2,TEXT3
	JRST DT2
	JRST AC2
	DEPHASE
DT2:     MOVEM ,TEXT3
         MOVE TEXT2,TEXT1
	MOVEM TEXT1,TEXT11
	MOVE AC4,SAC+4
	MOVE AC5,SAC+5
	POPJ REC,
DT3:     MOVE TEXT2,TEXT1
         MOVEM TEXT1,TEXT3
	JRST DT3-4



         REPEAT 0,<SUBRUTINA PARA ENCONTRA UN TEXTO DADO Y
                   DEJAR LOS APUNTADORES TEXT1 Y TEXT2 AL PRINCIPIO
                   Y AL FINAL DEL TEXTO BUSCADO>


E:	POP TXPD,QTEXT0
	PUSH TXPD,QTEXT0
	MOVEM TEXT2,TS2
         MOVE ,TEXT1
ET1:     ILDB AC1,QTEXT0
	JUMPE AC1,ET2
         OK ( ,TEXT3,ET2-2)
         ILDB TEM,
	CAMN TEM,AC1
         JRST ET1
	SOS (REC)
	MOVE ,TS2
ET2:     MOVEM ,TEXT2
	AOS ,(REC)
	POPJ REC,


         REPEAT 0,<SUBRUTINA PARA ENCONTRA UN TEXTO>

F:	POP TXPD,QTEXT0
	PUSH TXPD,QTEXT0
	MOVEM TEXT1,TS3
	MOVEM TEXT2,TS4
	MOVE AC6,QTEXT0
         MOVE ,TEXT1
FT1:     ILDB AC1,QTEXT0
	JUMPE AC1,FT2
         OK ( ,TEXT3,FT3)
         ILDB TEM,
         CAMN AC1,TEM
         JRST FT1
         MOVE QTEXT0,AC6
         OK (TEXT1,TEXT3,FT3)
         IBP TEXT1
         MOVE ,TEXT1
         JRST FT1
FT2:     MOVEM ,TEXT2
	MOVE TS3
	MOVEM TEXT11
	AOS ,(REC)
	POPJ REC,
FT3:	MOVE TEXT1,TS3
	MOVE TEXT2,TS4
	POPJ REC,



	REPEAT 0,<LA SUBRUTINA G NOS TRAE UN TEXTO DE REGISTRO K
		Y LO INSERTA A PARTIR DEL APUNTADOR TEXT2>


G:	POP TXPD,QTEXT0
	CAIL QTEXT0,0
	CAILE QTEXT0,9
	JRST ERK
	IMULI QTEXT0,21
	ADDI QTEXT0,S0
	HLL QTEXT0,[POINT 7, ,]
	HLRZ ,TXPD
	CAIL ,146
	JRST OVL
	PUSH TXPD,QTEXT0
	PUSHJ REC,I
	POP TXPD,QTEXT0
	POPJ REC,

IIIAAAA>>AAA>						AA@@@@IIIA			*U*4