freebsd-skq/contrib/bison/vmshlp.mar
peter cf1a7c8a3a Import the FSF release of bison-1.25 onto the vendor branch.
In case you're wondering, the gcc-2.7.2.1 import uses this to generate
code.  The size of the generated code is bigger than the entire bison
release, making this a saving.  The bison doc is pretty good apparently.
1996-09-10 13:12:03 +00:00

43 lines
1.5 KiB
Plaintext

;/* Macro help routines for the BISON/VMS program
; Gabor Karsai, Vanderbilt University
;
;BISON is distributed in the hope that it will be useful, but WITHOUT ANY
;WARRANTY. No author or distributor accepts responsibility to anyone
;for the consequences of using it or for whether it serves any
;particular purpose or works at all, unless he says so in writing.
;Refer to the BISON General Public License for full details.
;
;Everyone is granted permission to copy, modify and redistribute BISON,
;but only under the conditions described in the BISON General Public
;License. A copy of this license is supposed to have been given to you
;along with BISON so you can know your rights and responsibilities. It
;should be in a file named COPYING. Among other things, the copyright
;notice and this notice must be preserved on all copies.
;
; In other words, you are welcome to use, share and improve this program.
; You are forbidden to forbid anyone else to use, share and improve
; what you give them. Help stamp out software-hoarding! */
;
.psect vmshlp pic,usr,rel,ovr,shr,long,exe,nowrt
alloca::
.word 0
subl2 ^X4(ap),sp
movl ^X10(fp),r1
movq ^X8(fp),ap
bicl2 #03,sp
addl2 #^X1c,sp
movl sp,r0
jmp (r1)
bcopy::
.word ^X0e00
movl ^X04(ap),r11
movl ^X08(ap),r10
movl ^X0c(ap),r9
brb 1$
2$: movb (r10)+,(r11)+
1$: sobgeq r9,2$
ret
.end