home *** CD-ROM | disk | FTP | other *** search
- /*
- Test of two-argument machine mnemonics.
-
- NO line of this file should generate an error.
- */
- #define abp a1
- #define awp a2
- #define alp a3
-
- #define pcbp ((char *)pc)
- #define pcwp ((int *)pc)
- #define pclp ((long *)pc)
-
- char *a1;
- int *a2, a2w;
- long *a3;
-
- char *pc;
-
- int d1w, d2w, d3w, memw;
- long d1, d2, d3, mem;
- char d1b,d2b, d3b, memb;
-
- main()
- {
- lab1:
-
- abcd(d2b,d3b); /* byte */
- abcd(*--abp, *--abp);
-
- add(d2,d1); /* Long */
- add(a2,d1);
- add(*alp,d1);
- add(*--alp,d1);
- add(*alp++,d1);
- add(*(alp+5),d1);
- add(*(alp+5+d2w),d1);
- add(mem,d1);
- add(*(pclp+5),d1);
- add(*(pclp+5+d2w),d1);
- add(25,d1);
-
- add(d2w,d1w); /* word */
- add(a2w,d1w);
- add(*awp,d1w);
- add(*--awp,d1w);
- add(*awp++,d1w);
- add(*(awp+5),d1w);
- add(*(awp+5+d2w),d1w);
- add(mem,d1w);
- add(*(pcwp+5),d1w);
- add(*(pcwp+5+d2w),d1w);
- add(25,d1w);
-
- add(d2b,d1b); /* byte */
- add(*abp,d1b);
- add(*--abp,d1b);
- add(*abp++,d1b);
- add(*(abp+5),d1b);
- add(*(abp+5+d2w),d1b);
- add(mem,d1b);
- add(*(pcbp+5),d1b);
- add(*(pcbp+5+d2w),d1b);
- add(25,d1b);
-
- /* comment out ------
- add(mem,d1);
- add(d1,mem);
-
- adda(*a1,a1);
-
- addi(1,d1);
- addi(1,mem);
-
- addq(1,mem);
- addq(1,d1);
- addq(1,a1);
-
- addx(d1,d2);
- addx(d1b,d2b);
- addx(*--a1,*--a2);
-
- and(mem,d1);
- and(d1,mem);
- ----- end comment out */
- }
-