mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-26 01:44:21 +00:00
47 lines
866 B
Plaintext
47 lines
866 B
Plaintext
$title ('SUBROUTINE MODULE - PART 1')
|
|
subr1:
|
|
do;
|
|
|
|
$include (:f1:macro.lit)
|
|
|
|
/*
|
|
|
|
modified 3/26/81 R. Silberstein
|
|
|
|
*/
|
|
|
|
/* compute if number is in range (-128,127) */
|
|
/* exit 1 if in range, 2 otherwise */
|
|
|
|
typecalc: procedure(val) byte public;
|
|
declare val address,
|
|
lowb byte at (.val),
|
|
highb byte at (.val+1);
|
|
lowb=lowb and 80h;
|
|
if highb=0 then
|
|
if lowb=0 then return 1;
|
|
if highb=0ffh then
|
|
if lowb <> 0 then return 1;
|
|
return 2;
|
|
end typecalc;
|
|
|
|
/* test if number is a "word" (>255 and <-256) */
|
|
wrdtest: procedure(n) byte public;
|
|
declare n address;
|
|
return ((n < 0ff00h) and (n > 0ffh));
|
|
end wrdtest;
|
|
|
|
copy: procedure(n,s,d) public;
|
|
declare n byte,
|
|
(s,d) address,
|
|
sch based s byte,
|
|
dch based d byte;
|
|
DO WHILE (N := N - 1) <> 0FFH;
|
|
DCH = SCH;
|
|
D = D + 1;
|
|
S = S + 1;
|
|
END;
|
|
end copy;
|
|
|
|
end subr1;
|