.TITLE MAKENT ;+ ;SUBROUTINE TO MAKE AN ENTRY IN THE SYMBOL TABLE ; ; CALL MAKENT(BASE,KODE,NSYM,IADR,ICODE) ;WHERE: ; BASE=2 ;BASE OF SYMBOL TABLE KODE=4 ;VALUE TO ENTER NSYM=6 ;NUMBER OF SYMBOLS-INCLUDING CURRET-IN TBL IADR=10 ;ADDRESS OF WHERE ENTRY SHOULD GO ICODE=12 ;VALUE TO ENTER ASSOCIATED WITH SYMBOL ;- .MCALL RETURN SIZ=10 MAKENT::MOV BASE(R5),R0 ;BASE ADR MOV @NSYM(R5),R1 ;COUNT OF ITEMS BEQ 50$ ;NOTHING-INSERT AT TOP ASL R1 ;MUL ASL R1 ;BY ASL R1 ;10(8.) ADD R1,R0 ;POINT AT BOTTOM MOV @IADR(R5),R2 ;GET PLACE CMP R2,R0 ;INSRTING @ BOTTOM BEQ 50$ ;YES-NO MOVE NECESSARY MOV R0,R1 ADD #SIZ,R1 20$: MOV -(R0),-(R1) ;MOVE DOWN CMP R0,R2 ;DONE? BNE 20$ ;BR NO 50$: CLR (R0)+ ;ZERO LINK WORD MOV KODE(R5),R1 ;GET ADR OF KODE MOV (R1)+,(R0)+ ;INSERT MOV (R1)+,(R0)+ ;...NAME MOV @ICODE(R5),(R0)+;INSERT CODE RETURN .END