Browse Source

Added missing modifiers

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@6412 8c9fc860-2736-0410-a75d-ab315db34111
eth.negelef 9 years ago
parent
commit
c896337f86
1 changed files with 14 additions and 15 deletions
  1. 14 15
      source/RPI.CPU.Mod

+ 14 - 15
source/RPI.CPU.Mod

@@ -327,61 +327,60 @@ TYPE UHUGEINT = HUGEINT;
 
 PROCEDURE DivS8*(left, right: SHORTINT): SHORTINT;
 VAR result, dummy: LONGINT;
-BEGIN	 DivModS32(left, right, result, dummy); RETURN SHORTINT(result)
+BEGIN {UNCOOPERATIVE, UNCHECKED} DivModS32(left, right, result, dummy); RETURN SHORTINT(result)
 END DivS8;
 
 PROCEDURE DivS16*(left, right: INTEGER): INTEGER;
 VAR result, dummy: LONGINT;
-BEGIN	 DivModS32(left, right, result, dummy); RETURN INTEGER(result)
+BEGIN {UNCOOPERATIVE, UNCHECKED} DivModS32(left, right, result, dummy); RETURN INTEGER(result)
 END DivS16;
 
 PROCEDURE DivS32*(left, right: LONGINT): LONGINT;
 VAR result, dummy: LONGINT;
-BEGIN	 DivModS32(left, right, result, dummy); RETURN result
+BEGIN {UNCOOPERATIVE, UNCHECKED} DivModS32(left, right, result, dummy); RETURN result
 END DivS32;
 
 PROCEDURE DivU32*(left, right: ULONGINT): ULONGINT;
 VAR result, dummy: LONGINT;
-BEGIN DivModU32(left, right, result, dummy); RETURN result
+BEGIN {UNCOOPERATIVE, UNCHECKED} DivModU32(left, right, result, dummy); RETURN result
 END DivU32;
 
 PROCEDURE DivS64*(left, right: HUGEINT): HUGEINT;
 VAR result, dummy: HUGEINT;
-BEGIN
-	DivModS64(left, right, result, dummy); RETURN result
+BEGIN {UNCOOPERATIVE, UNCHECKED} DivModS64(left, right, result, dummy); RETURN result
 END DivS64;
 
 PROCEDURE ModS8*(left, right: SHORTINT): SHORTINT;
 VAR result, dummy: LONGINT;
-BEGIN DivModS32(left, right, dummy, result); RETURN SHORTINT(result)
+BEGIN {UNCOOPERATIVE, UNCHECKED} DivModS32(left, right, dummy, result); RETURN SHORTINT(result)
 END ModS8;
 
 PROCEDURE ModS16*(left, right: INTEGER): INTEGER;
 VAR result, dummy: LONGINT;
-BEGIN DivModS32(left, right, dummy, result); RETURN INTEGER(result)
+BEGIN {UNCOOPERATIVE, UNCHECKED} DivModS32(left, right, dummy, result); RETURN INTEGER(result)
 END ModS16;
 
 PROCEDURE ModS32*(left, right: LONGINT): LONGINT;
 VAR result, dummy: LONGINT;
-BEGIN DivModS32(left, right, dummy, result); RETURN result
+BEGIN {UNCOOPERATIVE, UNCHECKED} DivModS32(left, right, dummy, result); RETURN result
 END ModS32;
 
 PROCEDURE ModU32*(left, right: ULONGINT): ULONGINT;
 VAR result, dummy: LONGINT;
-BEGIN DivModU32(left, right, dummy, result); RETURN result
+BEGIN {UNCOOPERATIVE, UNCHECKED} DivModU32(left, right, dummy, result); RETURN result
 END ModU32;
 
 PROCEDURE ModS64*(left, right: HUGEINT): HUGEINT;
 VAR result, dummy: HUGEINT;
-BEGIN
-		DivModS64(left, right, dummy, result); RETURN result
+BEGIN {UNCOOPERATIVE, UNCHECKED}
+	DivModS64(left, right, dummy, result); RETURN result
 END ModS64;
 
 (* signed division and modulus
 - note: this implements the mathematical definition of DIV and MOD in contrast to the symmetric one
 *)
 PROCEDURE DivModS32(dividend, divisor: LONGINT; VAR quotient, remainder: LONGINT);
-BEGIN
+BEGIN {UNCOOPERATIVE, UNCHECKED}
 	ASSERT(divisor > 0);
 	IF dividend >= 0 THEN
 		DivModU32(dividend, divisor, quotient, remainder)
@@ -438,7 +437,7 @@ END DivModU32;
 - note: this implements the mathematical definition of DIV and MOD in contrast to the symmetric one
 *)
 PROCEDURE DivModS64*(dividend, divisor: HUGEINT; VAR quotient, remainder: HUGEINT);
-BEGIN
+BEGIN {UNCOOPERATIVE, UNCHECKED}
 	ASSERT(divisor > 0);
 	IF dividend >= 0 THEN
 		DivModU64(dividend, divisor, quotient, remainder)
@@ -478,7 +477,7 @@ END Clz64;
 *)
 PROCEDURE DivModU64*(dividend, divisor: UHUGEINT; VAR quotient, remainder: UHUGEINT);
 VAR m: LONGINT;
-BEGIN
+BEGIN {UNCOOPERATIVE, UNCHECKED}
 	quotient := 0;
 
 	IF dividend = 0 THEN remainder := 0; RETURN; END;