+1:\n" },
+
+/*
+ * Pascal runtime checks
+ */
+ { "1,_ASRT\n",
+" tstl (sp)+\n\
+ jneq 1f\n\
+ pushl $0\n\
+ pushl $_EASRT\n\
+ calls $2,_ERROR\n\
+1:\n" },
+
+ { "2,_ASRTS\n",
+" popr $0x03\n\
+ tstl r0\n\
+ jneq 1f\n\
+ pushl r1\n\
+ pushl $_EASRTS\n\
+ calls $2,_ERROR\n\
+1:\n" },
+
+ { "1,_CHR\n",
+" movl (sp)+,r0\n\
+ cmpl r0,$127\n\
+ jlequ 1f\n\
+ pushl r0\n\
+ pushl $_ECHR\n\
+ calls $2,_ERROR\n\
+1:\n" },
+
+ { "0,_LINO\n",
+" incl __stcnt\n\
+ cmpl __stcnt,__stlim\n\
+ jlss 1f\n\
+ pushl __stcnt\n\
+ pushl $_ELINO\n\
+ calls $2,_ERROR\n\
+1:\n" },
+
+ { "1,_NIL\n",
+" movl (sp)+,r0\n\
+ cmpl r0,__maxptr\n\
+ jgtr 1f\n\
+ cmpl r0,__minptr\n\
+ jgeq 2f\n\
+1:\n\
+ pushl $0\n\
+ pushl $_ENIL\n\
+ calls $2,_ERROR\n\
+2:\n" },
+
+ { "2,_RANDOM\n",
+" addl2 $8,sp\n\
+ emul __seed,$1103515245,$0,r0\n\
+ ediv $0x7fffffff,r0,r1,r0\n\
+ movl r0,__seed\n\
+ cvtld r0,r0\n\
+ divd2 $0d2.147483647e+09,r0\n" },
+
+ { "3,_RANG4\n",
+" popr $0x07\n\
+ cmpl r0,r1\n\
+ jlss 1f\n\
+ cmpl r0,r2\n\
+ jleq 2f\n\
+1:\n\
+ pushl r0\n\
+ pushl $_ERANG\n\
+ calls $2,_ERROR\n\
+2:\n" },
+
+ { "2,_RSNG4\n",
+" popr $0x03\n\
+ cmpl r0,r1\n\
+ jlequ 1f\n\
+ pushl r0\n\
+ pushl $_ERANG\n\
+ calls $2,_ERROR\n\
+1:\n" },
+
+ { "1,_SEED\n",
+" movl __seed,r0\n\
+ movl (sp)+,__seed\n" },
+
+ { "3,_SUBSC\n",
+" popr $0x07\n\
+ cmpl r0,r1\n\
+ jlss 1f\n\
+ cmpl r0,r2\n\
+ jleq 2f\n\
+1:\n\
+ pushl r0\n\
+ pushl $_ESUBSC\n\
+ calls $2,_ERROR\n\
+2:\n" },
+
+ { "2,_SUBSCZ\n",
+" popr $0x03\n\
+ cmpl r0,r1\n\
+ jlequ 1f\n\
+ pushl r0\n\
+ pushl $_ESUBSC\n\
+ calls $2,_ERROR\n\
+1:\n" },
+#endif vax
+
+#ifdef mc68000
+
+/*
+ * General Pascal library routines
+ */
+ { "_ACTFILE\n",
+" movl sp@,a0\n\
+ movl a0@(12),d0\n" },
+
+ { "_ADDT\n",
+" movl a2,sp@-\n\
+ movl sp@(8),a2\n\
+ movl sp@(12),a1\n\
+ movl sp@(4),a0\n\
+ movl sp@(16),d1\n\
+ subql #1,d1\n\
+1:\n\
+ movl a2@+,d0\n\
+ orl a1@+,d0\n\
+ movl d0,a0@+\n\
+ dbra d1,1b\n\
+ movl sp@+,a2\n\
+ movl sp@,d0\n" },
+
+ { "_SUBT\n",
+" movl a2,sp@-\n\
+ movl sp@(8),a2\n\
+ movl sp@(12),a1\n\
+ movl sp@(4),a0\n\
+ movl sp@(16),d1\n\
+ subql #1,d1\n\
+1:\n\
+ movl a1@+,d0\n\
+ notl d0\n\
+ andl a2@+,d0\n\
+ movl d0,a0@+\n\
+ dbra d1,1b\n\
+ movl sp@+,a2\n\
+ movl sp@,d0\n" },
+
+ { "_MULT\n",
+" movl a2,sp@-\n\
+ movl sp@(8),a2\n\
+ movl sp@(12),a1\n\
+ movl sp@(4),a0\n\
+ movl sp@(16),d1\n\
+ subql #1,d1\n\
+1:\n\
+ movl a2@+,d0\n\
+ andl a1@+,d0\n\
+ movl d0,a0@+\n\
+ dbra d1,1b\n\
+ movl sp@+,a2\n\
+ movl sp@,d0\n" },
+
+ { "_IN\n",
+" movl sp@,d1\n\
+ subl sp@(4),d1\n\
+ cmpl sp@(8),d1\n\
+ jbhi 1f\n\
+ movl sp@(12),a0\n\
+ movl d1,d0\n\
+ lsrl #3,d0\n\
+ btst d1,a0@(0,d0:l)\n\
+ jbne 1f\n\
+ moveq #1,d0\n\
+ jbra 2f\n\
+1:\n\
+ moveq #0,d0\n\
+2:\n" },
+#endif mc68000
+