aboutsummaryrefslogtreecommitdiff
path: root/tools/bison++/vmshlp.mar
blob: 637d170d584b930af458bdbd739fc4fa26ab50e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
;/* 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