changeset 705:2aa02c15c639

some more integer iasm tests
author thomask
date Sun, 16 Oct 2005 12:42:57 +0000
parents 3e690f0d2cbf
children 98da8471e794
files norun/a/asm_clts_01.d norun/a/asm_invd_01.d norun/a/asm_ud2_01.d run/a/asm_por_01.d run/a/asm_pusha_01.d run/a/asm_seta_01.d run/a/asm_setae_01.d run/a/asm_setb_01.d run/a/asm_setbe_01.d run/a/asm_setc_01.d run/a/asm_sete_01.d run/a/asm_setg_01.d run/a/asm_setge_01.d run/a/asm_setl_01.d run/a/asm_setle_01.d run/a/asm_setna_01.d run/a/asm_setnae_01.d run/a/asm_setnb_01.d run/a/asm_setnbe_01.d run/a/asm_setnc_01.d run/a/asm_setne_01.d run/a/asm_setng_01.d run/a/asm_setnge_01.d run/a/asm_setnl_01.d run/a/asm_setnle_01.d run/a/asm_setno_01.d run/a/asm_setnp_01.d run/a/asm_setns_01.d run/a/asm_setnz_01.d run/a/asm_setp_01.d run/a/asm_setpe_01.d run/a/asm_setpo_01.d run/a/asm_sets_01.d run/a/asm_setz_01.d run/a/asm_sfence_01.d run/a/asm_sgdt_01.d run/a/asm_shld_01_A.d run/a/asm_shld_01_B.d run/a/asm_shrd_01_A.d run/a/asm_shrd_01_B.d run/a/asm_sidt_01.d run/a/asm_sldt_01.d run/a/asm_smsw_01.d run/a/asm_stc_01.d run/a/asm_str_01.d
diffstat 45 files changed, 1786 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/norun/a/asm_clts_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,18 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_cl_01.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.norun.a.asm_clts_01;
+
+int main(){
+	version(D_InlineAsm){
+		asm{
+			clts;
+		}
+	
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/norun/a/asm_invd_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,18 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_sub_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.norun.a.asm_invd_01;
+
+int main(){
+	version(D_InlineAsm){
+		asm{
+			invd;
+		}
+		
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/norun/a/asm_ud2_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,18 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_sub_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.norun.a.asm_ud2_01;
+
+int main(){
+	version(D_InlineAsm){
+		asm{
+			ud2;
+		}
+		
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_por_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,26 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_por_01;
+
+int main(){
+	version(D_InlineAsm){
+		ulong a = 0xFF01_00FF_0001_0000;
+		ulong b = 0xFF00_10FF_0002_0000;
+		ulong c = 2;
+			
+		asm{
+			movq MM0, a;
+			por MM0, b;
+			movq c, MM0;
+		}
+		
+		assert(c==0xFF01_10FF_0003_0000);
+
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_pusha_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,51 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_pusha_01;
+
+int main(){
+	version(D_InlineAsm){
+		static if(size_t.sizeof <= 4){
+			ushort a1, b1, c1, d1;
+			ushort a2, b2, c2, d2;
+			ushort a3, b3, c3, d3;
+			
+			asm{
+				mov a1, AX;
+				mov b1, BX;
+				mov c1, CX;
+				mov d1, DX;
+				pusha;
+				mov EAX, 1;
+				mov EBX, 2;
+				mov ECX, 3;
+				mov EDX, 4;
+				mov a2, AX;
+				mov b2, BX;
+				mov c2, CX;
+				mov d2, DX;
+				popa;
+				mov a3, AX;
+				mov b3, BX;
+				mov c3, CX;
+				mov d3, DX;				
+			}
+			
+			assert(a1 == a3);
+			assert(b1 == b3);
+			assert(c1 == c3);
+			assert(d1 == d3);
+			
+			assert(a2 == 1);
+			assert(b2 == 2);
+			assert(c2 == 3);
+			assert(d2 == 4);
+		}
+		
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_seta_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,46 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_seta_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			cmp EAX, 4;
+			seta a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 3;
+			seta a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 4;
+			seta a;
+		}
+		
+		assert(a==0);
+
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_setae_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,46 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_setae_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			cmp EAX, 4;
+			setae a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 3;
+			setae a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 4;
+			setae a;
+		}
+		
+		assert(a==1);
+
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_setb_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,46 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_setb_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			cmp EAX, 4;
+			setb a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 3;
+			setb a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 4;
+			setb a;
+		}
+		
+		assert(a == 0);
+
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_setbe_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,46 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_setbe_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			cmp EAX, 4;
+			setbe a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 3;
+			setbe a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 4;
+			setbe a;
+		}
+		
+		assert(a == 1);
+
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_setc_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,46 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_setc_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			cmp EAX, 4;
+			setc a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 3;
+			setc a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 4;
+			setc a;
+		}
+		
+		assert(a == 0);
+
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_sete_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,46 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_sete_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			cmp EAX, 4;
+			sete a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 3;
+			sete a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 4;
+			sete a;
+		}
+		
+		assert(a == 1);
+
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_setg_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,46 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_setg_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			cmp EAX, -4;
+			setg a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, -4;
+			cmp EAX, 3;
+			setg a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 4;
+			setg a;
+		}
+		
+		assert(a == 0);
+
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_setge_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,46 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_setge_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			cmp EAX, -4;
+			setge a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, -4;
+			cmp EAX, 3;
+			setge a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 4;
+			setge a;
+		}
+		
+		assert(a == 1);
+
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_setl_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,46 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_setl_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			cmp EAX, -4;
+			setl a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, -4;
+			cmp EAX, 3;
+			setl a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 4;
+			setl a;
+		}
+		
+		assert(a == 0);
+
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_setle_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,46 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_setle_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			cmp EAX, -4;
+			setle a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, -4;
+			cmp EAX, 3;
+			setle a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 4;
+			setle a;
+		}
+		
+		assert(a == 1);
+
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_setna_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,46 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_setna_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			cmp EAX, 4;
+			setna a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 3;
+			setna a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 4;
+			setna a;
+		}
+		
+		assert(a == 1);
+
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_setnae_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,46 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_setnae_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			cmp EAX, 4;
+			setnae a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 3;
+			setnae a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 4;
+			setnae a;
+		}
+		
+		assert(a == 0);
+
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_setnb_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,46 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_setnb_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			cmp EAX, 4;
+			setnb a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 3;
+			setnb a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 4;
+			setnb a;
+		}
+		
+		assert(a == 1);
+
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_setnbe_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,46 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_setnbe_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			cmp EAX, 4;
+			setnbe a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 3;
+			setnbe a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 4;
+			setnbe a;
+		}
+		
+		assert(a == 0);
+
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_setnc_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,46 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_setnc_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			cmp EAX, 4;
+			setnc a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 3;
+			setnc a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 4;
+			setnc a;
+		}
+		
+		assert(a == 1);
+
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_setne_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,46 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_setne_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			cmp EAX, 4;
+			setne a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 3;
+			setne a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 4;
+			setne a;
+		}
+		
+		assert(a == 0);
+
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_setng_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,46 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_setng_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			cmp EAX, -4;
+			setng a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, -4;
+			cmp EAX, 3;
+			setng a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 4;
+			setng a;
+		}
+		
+		assert(a == 1);
+
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_setnge_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,46 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_setnge_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			cmp EAX, -4;
+			setnge a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, -4;
+			cmp EAX, 3;
+			setnge a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 4;
+			setnge a;
+		}
+		
+		assert(a == 0);
+
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_setnl_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,46 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_setnl_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			cmp EAX, -4;
+			setnl a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, -4;
+			cmp EAX, 3;
+			setnl a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 4;
+			setnl a;
+		}
+		
+		assert(a == 1);
+
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_setnle_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,46 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_setnle_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			cmp EAX, -4;
+			setnle a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, -4;
+			cmp EAX, 3;
+			setnle a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 4;
+			setnle a;
+		}
+		
+		assert(a == 0);
+
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_setno_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,58 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_setno_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			cmp EAX, -4;
+			setno a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, -4;
+			cmp EAX, 3;
+			setno a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 4;
+			setno a;
+		}
+		
+		assert(a == 1);
+
+		a = a.max;
+		
+		int i = int.min;
+		
+		asm{
+			mov EAX, i;
+			cmp EAX, 1;
+			setno a;
+		}
+		
+		assert(a == 0);
+		
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_setnp_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,56 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_setnp_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			cmp EAX, 4;
+			setnp a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 3;
+			setnp a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 4;
+			setnp a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 8;
+			cmp EAX, 6;
+			setnp a;
+		}
+		
+		assert(a == 1);
+		
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_setns_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,46 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_sens_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			cmp EAX, 4;
+			setns a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 3;
+			setns a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 4;
+			setns a;
+		}
+		
+		assert(a == 1);
+		
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_setnz_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,46 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_setnz_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			cmp EAX, 4;
+			setnz a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 3;
+			setnz a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 4;
+			setnz a;
+		}
+		
+		assert(a == 0);
+		
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_setp_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,56 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_setp_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 0;
+			inc EAX;
+			setp a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 1;
+			inc EAX;
+			setp a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 2;
+			inc EAX;
+			setp a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			inc EAX;
+			setp a;
+		}
+		
+		assert(a == 0);
+		
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_setpe_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,56 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_setpe_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 0;
+			inc EAX;
+			setpe a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 1;
+			inc EAX;
+			setpe a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 2;
+			inc EAX;
+			setpe a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			inc EAX;
+			setpe a;
+		}
+		
+		assert(a == 0);
+		
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_setpo_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,56 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_setpo_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 0;
+			inc EAX;
+			setpo a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 1;
+			inc EAX;
+			setpo a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 2;
+			inc EAX;
+			setpo a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			inc EAX;
+			setpo a;
+		}
+		
+		assert(a == 1);
+		
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_sets_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,46 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_ses_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			cmp EAX, 4;
+			sets a;
+		}
+		
+		assert(a == 1);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 3;
+			sets a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 4;
+			sets a;
+		}
+		
+		assert(a == 0);
+		
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_setz_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,46 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_setz_01;
+
+int main(){
+	version(D_InlineAsm){
+		ubyte a;
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 3;
+			cmp EAX, 4;
+			setz a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 3;
+			setz a;
+		}
+		
+		assert(a == 0);
+		
+		a = a.max;
+		
+		asm{
+			mov EAX, 4;
+			cmp EAX, 4;
+			setz a;
+		}
+		
+		assert(a == 1);
+		
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_sfence_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,19 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_sfence_01;
+
+int main(){
+	version(D_InlineAsm){
+		
+		asm{
+			sfence;
+		}
+		
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_sgdt_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,23 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_sgdt_01;
+
+int main(){
+	version(D_InlineAsm){
+		
+		long u = 0;
+		
+		asm{
+			sgdt u;
+		}
+		
+		assert(u!=0);
+		
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_shld_01_A.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,27 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_shld_01_A;
+
+int main(){
+	version(D_InlineAsm){
+		
+		ushort a = 0b0000_0000__1000_0000;
+		ushort b = 0b1010_0000__0000_0000;
+		
+		asm{
+			mov BX, b;
+			shld a, BX, 3;
+			mov b, BX;
+		}
+		
+		assert(a == 0b0000_0100__0000_0101);
+		assert(b == 0b1010_0000__0000_0000);
+		
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_shld_01_B.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,27 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_shld_01_B;
+
+int main(){
+	version(D_InlineAsm){
+		
+		uint a = 0b0000_0000__1000_0000__0000_0000__0000_0000;
+		uint b = 0b1010_0000__0000_0000__0000_0000__0000_0000;
+		
+		asm{
+			mov EBX, b;
+			shld a, EBX, 3;
+			mov b, EBX;
+		}
+		
+		assert(a == 0b0000_0100__0000_0000__0000_0000__0000_0101);
+		assert(b == 0b1010_0000__0000_0000__0000_0000__0000_0000);
+		
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_shrd_01_A.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,27 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_shrd_01_A;
+
+int main(){
+	version(D_InlineAsm){
+		
+		ushort a = 0b0000_0000__1000_0000;
+		ushort b = 0b1000_0000__0000_0101;
+		
+		asm{
+			mov BX, b;
+			shrd a, BX, 3;
+			mov b, BX;
+		}
+		
+		assert(a == 0b1010_0000__0001_0000);
+		assert(b == 0b1000_0000__0000_0101);
+		
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_shrd_01_B.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,27 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_shrd_01_B;
+
+int main(){
+	version(D_InlineAsm){
+		
+		uint a = 0b0000_0000__1000_0000__0000_0000__0000_0000;
+		uint b = 0b1000_0000__0000_0000__0000_0000__0000_0101;
+		
+		asm{
+			mov EBX, b;
+			shrd a, EBX, 3;
+			mov b, EBX;
+		}
+		
+		assert(a == 0b1010_0000__0001_0000__0000_0000__0000_0000);
+		assert(b == 0b1000_0000__0000_0000__0000_0000__0000_0101);
+		
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_sidt_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,23 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_sidt_01;
+
+int main(){
+	version(D_InlineAsm){
+		
+		ulong u = 0;
+		
+		asm{
+			sidt u;
+		}
+		
+		assert(u != 0);
+		
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_sldt_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,23 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_sldt_01;
+
+int main(){
+	version(D_InlineAsm){
+		
+		ushort u = 1;
+		
+		asm{
+			sldt u;
+		}
+		
+		assert(u == 0); // is this realy safe ?
+		
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_smsw_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,23 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_smsw_01_A;
+
+int main(){
+	version(D_InlineAsm){
+		
+		ushort a = 0;
+		
+		asm{
+			smsw a;
+		}
+		
+		assert(a != 0);
+		
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_stc_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,27 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_stc_01;
+
+int main(){
+	version(D_InlineAsm){
+		
+		ubyte a, b = 3;
+		
+		asm{
+			clc;
+			setc a;
+			stc;
+			setc b;
+		}
+		
+		assert(a == 0);
+		assert(b == 1);
+		
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_str_01.d	Sun Oct 16 12:42:57 2005 +0000
@@ -0,0 +1,23 @@
+// $HeadURL: svn://dstress.kuehne.cn/run/a/asm_add_01_C.d $
+// $Date: 2005-08-20 20:24:41 +0200 (Sat, 20 Aug 2005) $
+// $Author: thomask $
+
+module dstress.run.a.asm_str_01;
+
+int main(){
+	version(D_InlineAsm){
+		
+		ushort a = 0;
+		
+		asm{
+			str a;
+		}
+		
+		assert(a != 0);
+		
+		return 0;
+	}else{
+		pragma(msg, "no Inline asm support");
+		static assert(0);
+	}
+}
\ No newline at end of file