From: ceriel Date: Fri, 18 Mar 1988 18:08:20 +0000 (+0000) Subject: Added an array bound checking procedure X-Git-Tag: release-5-5~3550 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=134869ad1a5df54ce355f5d70c6adbca082ce106;p=ack.git Added an array bound checking procedure --- diff --git a/lang/m2/libm2/LIST b/lang/m2/libm2/LIST index ca1abca96..2ea72a35b 100644 --- a/lang/m2/libm2/LIST +++ b/lang/m2/libm2/LIST @@ -33,6 +33,7 @@ blockmove.c stackprio.c ChkCards.e EM.e +rcka.e rcku.e rcki.e rckul.e diff --git a/lang/m2/libm2/rcka.e b/lang/m2/libm2/rcka.e new file mode 100644 index 000000000..c3ef0b2ab --- /dev/null +++ b/lang/m2/libm2/rcka.e @@ -0,0 +1,31 @@ +# +; +; (c) copyright 1988 by the Vrije Universiteit, Amsterdam, The Netherlands. +; See the copyright notice in the ACK home directory, in the file "Copyright". +; +; +; Module: range checks for INTEGER, now for array indexing +; Author: Ceriel J.H. Jacobs +; Version: $Header$ +; +#include + + mes 2,EM_WSIZE,EM_PSIZE + exp $rcka + pro $rcka, 0 + + lol EM_PSIZE + zlt *1 ; lower bound always 0 + lol EM_PSIZE + lal 0 + loi EM_PSIZE + adp EM_WSIZE + loi EM_WSIZE + cmi EM_WSIZE + zgt *1 + ret 0 +1 + loc EARRAY + trp + ret 0 + end 0