Index: BasicCompiler32/NumOpe_Relation.cpp
===================================================================
--- BasicCompiler32/NumOpe_Relation.cpp	(revision 3)
+++ BasicCompiler32/NumOpe_Relation.cpp	(revision 36)
@@ -84,7 +84,7 @@
 		OpBuffer[obp++]=(char)0xE0;
 
-		//mov ecx,0xFFFFFFFF
-		OpBuffer[obp++]=(char)0xB9;
-		*((long *)(OpBuffer+obp))=0xFFFFFFFF;
+		//mov ecx,1
+		OpBuffer[obp++]=(char)0xB9;
+		*((long *)(OpBuffer+obp))=1;
 		obp+=sizeof(long);
 
@@ -166,7 +166,7 @@
 		OpBuffer[TrueSchedule]=obp-(TrueSchedule+1);
 
-		//mov eax,0FFFFFFFFh
+		//mov eax,1
 		OpBuffer[obp++]=(char)0xB8;
-		*((long *)(OpBuffer+obp))=0xFFFFFFFF;
+		*((long *)(OpBuffer+obp))=1;
 		obp+=sizeof(long);
 
@@ -199,7 +199,7 @@
 		op_sub_esp(4);
 
-		//mov ecx,0FFFFFFFFh
-		OpBuffer[obp++]=(char)0xB9;
-		*((long *)(OpBuffer+obp))=0xFFFFFFFF;
+		//mov ecx,1
+		OpBuffer[obp++]=(char)0xB9;
+		*((long *)(OpBuffer+obp))=1;
 		obp+=sizeof(long);
 
@@ -235,5 +235,5 @@
 
 	sp--;
-	type_stack[sp-1]=DEF_LONG;
+	type_stack[sp-1]=DEF_BOOLEAN;
 
 	*pStackPointer=sp;
@@ -320,7 +320,7 @@
 		OpBuffer[obp++]=(char)0xE0;
 
-		//mov ecx,0xFFFFFFFF
-		OpBuffer[obp++]=(char)0xB9;
-		*((long *)(OpBuffer+obp))=0xFFFFFFFF;
+		//mov ecx,1
+		OpBuffer[obp++]=(char)0xB9;
+		*((long *)(OpBuffer+obp))=1;
 		obp+=sizeof(long);
 
@@ -404,7 +404,7 @@
 		OpBuffer[TrueSchedule]=obp-(TrueSchedule+1);
 
-		//mov eax,0FFFFFFFFh
+		//mov eax,1
 		OpBuffer[obp++]=(char)0xB8;
-		*((long *)(OpBuffer+obp))=0xFFFFFFFF;
+		*((long *)(OpBuffer+obp))=1;
 		obp+=sizeof(long);
 
@@ -437,7 +437,7 @@
 		op_sub_esp(4);
 
-		//mov ecx,0FFFFFFFFh
-		OpBuffer[obp++]=(char)0xB9;
-		*((long *)(OpBuffer+obp))=0xFFFFFFFF;
+		//mov ecx,1
+		OpBuffer[obp++]=(char)0xB9;
+		*((long *)(OpBuffer+obp))=1;
 		obp+=sizeof(long);
 
@@ -473,5 +473,5 @@
 
 	sp--;
-	type_stack[sp-1]=DEF_LONG;
+	type_stack[sp-1]=DEF_BOOLEAN;
 
 	*pStackPointer=sp;
@@ -561,7 +561,7 @@
 		OpBuffer[obp++]=(char)0xE0;
 
-		//mov ecx,0xFFFFFFFF
-		OpBuffer[obp++]=(char)0xB9;
-		*((long *)(OpBuffer+obp))=0xFFFFFFFF;
+		//mov ecx,1
+		OpBuffer[obp++]=(char)0xB9;
+		*((long *)(OpBuffer+obp))=1;
 		obp+=sizeof(long);
 
@@ -656,7 +656,7 @@
 		OpBuffer[TrueSchedule2]=obp-(TrueSchedule2+1);
 
-		//mov eax,0FFFFFFFFh
+		//mov eax,1
 		OpBuffer[obp++]=(char)0xB8;
-		*((long *)(OpBuffer+obp))=0xFFFFFFFF;
+		*((long *)(OpBuffer+obp))=1;
 		obp+=sizeof(long);
 
@@ -678,7 +678,7 @@
 		op_sub_esp(4);
 
-		//mov ecx,0FFFFFFFFh
-		OpBuffer[obp++]=(char)0xB9;
-		*((long *)(OpBuffer+obp))=0xFFFFFFFF;
+		//mov ecx,1
+		OpBuffer[obp++]=(char)0xB9;
+		*((long *)(OpBuffer+obp))=1;
 		obp+=sizeof(long);
 
@@ -714,5 +714,5 @@
 
 	sp--;
-	type_stack[sp-1]=DEF_LONG;
+	type_stack[sp-1]=DEF_BOOLEAN;
 
 	*pStackPointer=sp;
@@ -798,7 +798,7 @@
 		OpBuffer[obp++]=(char)0xE0;
 
-		//mov ecx,0xFFFFFFFF
-		OpBuffer[obp++]=(char)0xB9;
-		*((long *)(OpBuffer+obp))=0xFFFFFFFF;
+		//mov ecx,1
+		OpBuffer[obp++]=(char)0xB9;
+		*((long *)(OpBuffer+obp))=1;
 		obp+=sizeof(long);
 
@@ -893,7 +893,7 @@
 		OpBuffer[TrueSchedule2]=obp-(TrueSchedule2+1);
 
-		//mov eax,0FFFFFFFFh
+		//mov eax,1
 		OpBuffer[obp++]=(char)0xB8;
-		*((long *)(OpBuffer+obp))=0xFFFFFFFF;
+		*((long *)(OpBuffer+obp))=1;
 		obp+=sizeof(long);
 
@@ -915,7 +915,7 @@
 		op_sub_esp(4);
 
-		//mov ecx,0FFFFFFFFh
-		OpBuffer[obp++]=(char)0xB9;
-		*((long *)(OpBuffer+obp))=0xFFFFFFFF;
+		//mov ecx,1
+		OpBuffer[obp++]=(char)0xB9;
+		*((long *)(OpBuffer+obp))=1;
 		obp+=sizeof(long);
 
@@ -947,5 +947,5 @@
 
 	sp--;
-	type_stack[sp-1]=DEF_LONG;
+	type_stack[sp-1]=DEF_BOOLEAN;
 
 	*pStackPointer=sp;
@@ -1029,7 +1029,7 @@
 		OpBuffer[obp++]=(char)0xE0;
 
-		//mov ecx,0xFFFFFFFF
-		OpBuffer[obp++]=(char)0xB9;
-		*((long *)(OpBuffer+obp))=0xFFFFFFFF;
+		//mov ecx,1
+		OpBuffer[obp++]=(char)0xB9;
+		*((long *)(OpBuffer+obp))=1;
 		obp+=sizeof(long);
 
@@ -1096,7 +1096,7 @@
 		OpBuffer[TrueSchedule2]=obp-(TrueSchedule2+1);
 
-		//mov eax,0FFFFFFFFh
+		//mov eax,1
 		OpBuffer[obp++]=(char)0xB8;
-		*((long *)(OpBuffer+obp))=0xFFFFFFFF;
+		*((long *)(OpBuffer+obp))=1;
 		obp+=sizeof(long);
 
@@ -1126,7 +1126,7 @@
 		OpBuffer[obp++]=(char)0x05;
 
-		//mov eax,0FFFFFFFFh
+		//mov eax,1
 		OpBuffer[obp++]=(char)0xB8;
-		*((long *)(OpBuffer+obp))=0xFFFFFFFF;
+		*((long *)(OpBuffer+obp))=1;
 		obp+=sizeof(long);
 
@@ -1138,5 +1138,5 @@
 
 	sp--;
-	type[sp-1]=DEF_LONG;
+	type[sp-1]=DEF_BOOLEAN;
 
 	*pStackPointer=sp;
@@ -1220,7 +1220,7 @@
 		OpBuffer[obp++]=(char)0xE0;
 
-		//mov ecx,0xFFFFFFFF
-		OpBuffer[obp++]=(char)0xB9;
-		*((long *)(OpBuffer+obp))=0xFFFFFFFF;
+		//mov ecx,1
+		OpBuffer[obp++]=(char)0xB9;
+		*((long *)(OpBuffer+obp))=1;
 		obp+=sizeof(long);
 
@@ -1276,7 +1276,7 @@
 		obp++;
 
-		//mov eax,0FFFFFFFFh
+		//mov eax,1
 		OpBuffer[obp++]=(char)0xB8;
-		*((long *)(OpBuffer+obp))=0xFFFFFFFF;
+		*((long *)(OpBuffer+obp))=1;
 		obp+=sizeof(long);
 
@@ -1313,16 +1313,20 @@
 		OpBuffer[obp++]=(char)0xC3;
 
-		//jz 5（次のmovを飛び越す）
+		//jnz 4（次のxorとjmpを飛び越す）
 		OpBuffer[obp++]=(char)0x74;
+		OpBuffer[obp++]=(char)0x04;
+
+		//xor eax,eax
+		OpBuffer[obp++]=(char)0x33;
+		OpBuffer[obp++]=(char)0xC0;
+
+		//jmp 5
+		OpBuffer[obp++]=(char)0xEB;
 		OpBuffer[obp++]=(char)0x05;
 
-		//mov eax,0FFFFFFFFh
+		//mov eax,1
 		OpBuffer[obp++]=(char)0xB8;
-		*((long *)(OpBuffer+obp))=0xFFFFFFFF;
-		obp+=sizeof(long);
-
-		//not eax
-		OpBuffer[obp++]=(char)0xF7;
-		OpBuffer[obp++]=(char)0xD0;
+		*((long *)(OpBuffer+obp))=1;
+		obp+=sizeof(long);
 
 		//mov dword ptr[esp],eax
@@ -1333,5 +1337,5 @@
 
 	sp--;
-	type[sp-1]=DEF_LONG;
+	type[sp-1]=DEF_BOOLEAN;
 
 	*pStackPointer=sp;
