Mercurial > projects > dstress
changeset 640:1fc8a80e4599
* added conditional jump tests
* extended basic integer math tests
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/a/asm_adc_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,38 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_adc_01_A; + +int main(){ + version(D_InlineAsm){ + byte a = 3; + byte b = 5; + + asm{ + clc; + mov AL, a; + adc AL, b; + mov a, AL; + } + + assert(a == 8); + + a = 3; + b = 5; + + asm{ + stc; + mov AL, a; + adc AL, b; + mov a, AL; + } + + assert(a == 9); + + 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_adc_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,38 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_adc_01_B; + +int main(){ + version(D_InlineAsm){ + short a = 300; + short b = 500; + + asm{ + clc; + mov AX, a; + adc AX, b; + mov a, AX; + } + + assert(a == 800); + + a = 300; + b = 500; + + asm{ + stc; + mov AX, a; + adc AX, b; + mov a, AX; + } + + assert(a == 801); + + 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_adc_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,38 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_adc_01_C; + +int main(){ + version(D_InlineAsm){ + int a = 30000; + int b = 50000; + + asm{ + clc; + mov EAX, a; + adc EAX, b; + mov a, EAX; + } + + assert(a == 80000); + + a = 30000; + b = 50000; + + asm{ + stc; + mov EAX, a; + adc EAX, b; + mov a, EAX; + } + + assert(a == 80001); + + 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_cdq_01.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,31 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_cdq_01; + +import std.stdio; + +int main(){ + version(D_InlineAsm){ + int x = -128; + uint i=0x12_3F_FF_FFu; + uint ii; + + asm{ + mov EAX, x; + mov EDX, i; + cdq; + mov i, EAX; + mov ii, EDX; + } + + assert(i==0xFF_FF_FF_80u); + assert(ii==0xFF_FF_FF_FFu); + + 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_cmc_01.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,36 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_cmc_01; + +int main(){ + version(D_InlineAsm){ + byte a = 0; + + asm{ + clc; + cmc; + mov AL, 0; + adc AL, 0; + mov a, AL; + } + + assert(a == 1); + + asm{ + stc; + cmc; + mov AL, 0; + adc AL, 0; + mov a, AL; + } + + 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_cwde_01.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,31 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_cwde_01; + +import std.stdio; + +int main(){ + version(D_InlineAsm){ + uint i=0x12_3F_FF_FFu; + short s=-128; + + assert(i==0x12_3F_FF_FFu); + + asm{ + mov EAX, i; + mov AX, s; + mov i, EAX; + } + + printf("%x\n", i); + assert(i==0xFF_FF_FF_80u); + + + 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_div_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,41 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_div_01_A; + +int main(){ + version(D_InlineAsm){ + ubyte a, b; + ushort x = byte.max+3; + ubyte y = 2; + + asm{ + mov AX, x; + div y; + mov a, AL; + mov b, AH; + } + + assert(a==65u); + assert(b==0u); + + x = byte.max+2; + y = 2; + + asm{ + mov AX, x; + div y; + mov a, AL; + mov b, AH; + } + + assert(a==64u); + assert(b==1u); + + 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_div_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,44 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_div_01_B; + +int main(){ + version(D_InlineAsm){ + ushort y = 2; + + ushort a = 0x00_00u; + ushort b = 0xFF_FFu; + + asm{ + mov DX, a; + mov AX, b; + div y; + mov a, AX; + mov b, DX; + } + + assert(a==0x7F_FFu); + assert(b==0x1u); + + a = 0x00_00u; + b = 0xFF_FEu; + + asm{ + mov DX, a; + mov AX, b; + div y; + mov a, AX; + mov b, DX; + } + + assert(a==0x7F_FFu); + assert(b==0x0u); + + 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_div_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,44 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_div_01_C; + +int main(){ + version(D_InlineAsm){ + uint y = 2; + + uint a = 0x00_00_00_00u; + uint b = 0xFF_FF_FF_FFu; + + asm{ + mov EDX, a; + mov EAX, b; + div y; + mov a, EAX; + mov b, EDX; + } + + assert(a==0x7F_FF_FF_FFu); + assert(b==0x1u); + + a = 0x00_00_00_00u; + b = 0xFF_FF_FF_FEu; + + asm{ + mov EDX, a; + mov EAX, b; + div y; + mov a, EAX; + mov b, EDX; + } + + assert(a==0x7F_FF_FF_FFu); + assert(b==0x0u); + + 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_idiv_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,44 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_idiv_01_A; + +int main(){ + version(D_InlineAsm){ + byte y = 2; + + byte a = 0x00; + byte b = - 0x7F; + + asm{ + mov AH, a; + mov AL, b; + idiv y; + mov a, AL; + mov b, AH; + } + + assert(a==0x40); + assert(b==1); + + a = 0x00_00; + b = - 0x7E; + + asm{ + mov AH, a; + mov AL, b; + idiv y; + mov a, AL; + mov b, AH; + } + + assert(a==0x41); + assert(b==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_idiv_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,44 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_idiv_01_B; + +int main(){ + version(D_InlineAsm){ + short y = 2; + + short a = 0x00_00; + short b = - 0x0F_FF; + + asm{ + mov DX, a; + mov AX, b; + idiv y; + mov a, AX; + mov b, DX; + } + + assert(a==0x78_00); + assert(b==1); + + a = 0x00_00; + b = - 0x0F_FE; + + asm{ + mov DX, a; + mov AX, b; + idiv y; + mov a, AX; + mov b, DX; + } + + assert(a==0x78_01); + assert(b==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_idiv_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,44 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_idiv_01_C; + +int main(){ + version(D_InlineAsm){ + int y = -2; + + int a = 0x00_00_00_00; + int b = - 0x0F_FF_FF_FF; + + asm{ + mov EDX, a; + mov EAX, b; + idiv y; + mov a, EAX; + mov b, EDX; + } + + assert(a==0x88_00_00_00u); + assert(b==1); + + a = 0x00_00_00_00; + b = 0x0F_FF_FF_FE; + + asm{ + mov EDX, a; + mov EAX, b; + idiv y; + mov a, EAX; + mov b, EDX; + } + + assert(a==0xF8_00_00_01u); + assert(b==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_idiv_02_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,23 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_neg_02_A; + +int main(){ + version(D_InlineAsm){ + byte y = 2; + + asm{ + lock; + neg y; + } + + assert(y == -2); + + 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_ja_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_ja_01_A; + +int main(){ + version(D_InlineAsm){ + uint a=5; + uint b=5; + + asm{ + mov EAX, a; + cmp EAX, b; + ja save; + add EAX, 1; + save: mov a, EAX; + } + + assert(a == 6); + + 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_ja_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_ja_01_B; + +int main(){ + version(D_InlineAsm){ + uint a=5; + uint b=4; + + asm{ + mov EAX, a; + cmp EAX, b; + ja save; + add EAX, 1; + save: mov a, EAX; + } + + assert(a == 5); + + 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_ja_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_ja_01_C; + +int main(){ + version(D_InlineAsm){ + uint a=5; + uint b=6; + + asm{ + mov EAX, a; + cmp EAX, b; + ja save; + add EAX, 1; + save: mov a, EAX; + } + + assert(a == 6); + + 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_jae_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jae_01_A; + +int main(){ + version(D_InlineAsm){ + uint a=5; + uint b=6; + + asm{ + mov EAX, a; + cmp EAX, b; + jae save; + add EAX, 1; + save: mov a, EAX; + } + + assert(a == 6); + + 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_jae_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jae_01_B; + +int main(){ + version(D_InlineAsm){ + uint a=5; + uint b=5; + + asm{ + mov EAX, a; + cmp EAX, b; + jae save; + add EAX, 1; + save: mov a, EAX; + } + + assert(a == 5); + + 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_jae_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jae_01_C; + +int main(){ + version(D_InlineAsm){ + uint a=5; + uint b=4; + + asm{ + mov EAX, a; + cmp EAX, b; + jae save; + add EAX, 1; + save: mov a, EAX; + } + + assert(a == 5); + + 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_jb_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jb_01_A; + +int main(){ + version(D_InlineAsm){ + uint a=5; + uint b=6; + + asm{ + mov EAX, a; + cmp EAX, b; + jb save; + add EAX, 1; + save: mov a, EAX; + } + + assert(a == 5); + + 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_jb_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jb_01_B; + +int main(){ + version(D_InlineAsm){ + uint a=5; + uint b=5; + + asm{ + mov EAX, a; + cmp EAX, b; + jb save; + add EAX, 1; + save: mov a, EAX; + } + + assert(a == 6); + + 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_jb_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jb_01_C; + +int main(){ + version(D_InlineAsm){ + uint a=5; + uint b=4; + + asm{ + mov EAX, a; + cmp EAX, b; + jb save; + add EAX, 1; + save: mov a, EAX; + } + + assert(a == 6); + + 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_jbe_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jbe_01_A; + +int main(){ + version(D_InlineAsm){ + uint a=5; + uint b=6; + + asm{ + mov EAX, a; + cmp EAX, b; + jb save; + add EAX, 1; + save: mov a, EAX; + } + + assert(a == 5); + + 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_jbe_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jbe_01_B; + +int main(){ + version(D_InlineAsm){ + uint a=5; + uint b=5; + + asm{ + mov EAX, a; + cmp EAX, b; + jbe save; + add EAX, 1; + save: mov a, EAX; + } + + assert(a == 5); + + 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_jbe_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jbe_01_C; + +int main(){ + version(D_InlineAsm){ + uint a=5; + uint b=4; + + asm{ + mov EAX, a; + cmp EAX, b; + jbe save; + add EAX, 1; + save: mov a, EAX; + } + + assert(a == 6); + + 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_jc_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jc_01_A; + +int main(){ + version(D_InlineAsm){ + uint a; + + asm{ + mov EAX, 0; + stc; + jc save; + add EAX, 1; + save: mov a, EAX; + } + + 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_jc_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jc_01_B; + +int main(){ + version(D_InlineAsm){ + uint a; + + asm{ + mov EAX, 0; + clc; + jc save; + add EAX, 1; + save: mov a, EAX; + } + + 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_jczx_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jcxz_01_A; + +int main(){ + version(D_InlineAsm){ + uint a; + + asm{ + mov EAX, 0; + mov CX, 0; + jcxz save; + add EAX, 1; + save: mov a, EAX; + } + + 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_jczx_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jcxz_01_B; + +int main(){ + version(D_InlineAsm){ + uint a; + + asm{ + mov EAX, 0; + mov CX, 2; + jcxz save; + add EAX, 1; + save: mov a, EAX; + } + + 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_je_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_je_01_A; + +int main(){ + version(D_InlineAsm){ + uint a; + + asm{ + mov EAX, 0; + cmp EAX, 1; + je save; + add EAX, 1; + save: mov a, EAX; + } + + 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_je_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_je_01_B; + +int main(){ + version(D_InlineAsm){ + uint a; + + asm{ + mov EAX, 0; + cmp EAX, 0; + je save; + add EAX, 1; + save: mov a, EAX; + } + + 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_jeczx_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jecxz_01_A; + +int main(){ + version(D_InlineAsm){ + uint a; + + asm{ + mov EAX, 0; + mov ECX, 0; + jecxz save; + add EAX, 1; + save: mov a, EAX; + } + + 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_jeczx_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jecxz_01_B; + +int main(){ + version(D_InlineAsm){ + uint a; + + asm{ + mov EAX, 0; + mov ECX, 2_00_00; + jecxz save; + add EAX, 1; + save: mov a, EAX; + } + + 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_jg_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jg_01_A; + +int main(){ + version(D_InlineAsm){ + int a = int.max; + int b = int.min; + + asm{ + mov EAX, a; + cmp EAX, b; + jg save; + mov EAX, 1; + save: mov a, EAX; + } + + assert(a == int.max); + + 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_jg_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jg_01_B; + +int main(){ + version(D_InlineAsm){ + int a = 4; + int b = 4; + + asm{ + mov EAX, a; + cmp EAX, b; + jg save; + mov EAX, 1; + save: mov a, EAX; + } + + 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_jg_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jg_01_C; + +int main(){ + version(D_InlineAsm){ + int a = int.min; + int b = int.max; + + asm{ + mov EAX, a; + cmp EAX, b; + jg save; + mov EAX, 1; + save: mov a, EAX; + } + + 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_jge_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jge_01_C; + +int main(){ + version(D_InlineAsm){ + int a = int.max; + int b = int.min; + + asm{ + mov EAX, a; + cmp EAX, b; + jge save; + mov EAX, 1; + save: mov a, EAX; + } + + assert(a == int.max); + + 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_jge_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jge_01_B; + +int main(){ + version(D_InlineAsm){ + int a = 4; + int b = 4; + + asm{ + mov EAX, a; + cmp EAX, b; + jge save; + mov EAX, 1; + save: mov a, EAX; + } + + assert(a == 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_jge_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jge_01_C; + +int main(){ + version(D_InlineAsm){ + int a = int.min; + int b = int.max; + + asm{ + mov EAX, a; + cmp EAX, b; + jge save; + mov EAX, 1; + save: mov a, EAX; + } + + 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_jl_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jl_01_A; + +int main(){ + version(D_InlineAsm){ + int a = int.max; + int b = int.min; + + asm{ + mov EAX, a; + cmp EAX, b; + jl save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jl_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jl_01_B; + +int main(){ + version(D_InlineAsm){ + int a = 4; + int b = 4; + + asm{ + mov EAX, a; + cmp EAX, b; + jl save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jl_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jl_01_C; + +int main(){ + version(D_InlineAsm){ + int a = int.min; + int b = int.max; + + asm{ + mov EAX, a; + cmp EAX, b; + jl save; + mov EAX, 0; + save: mov a, EAX; + } + + assert(a == int.min); + + 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_jle_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jle_01_A; + +int main(){ + version(D_InlineAsm){ + int a = int.max; + int b = int.min; + + asm{ + mov EAX, a; + cmp EAX, b; + jle save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jle_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jle_01_B; + +int main(){ + version(D_InlineAsm){ + int a = 4; + int b = 4; + + asm{ + mov EAX, a; + cmp EAX, b; + jle save; + mov EAX, 0; + save: mov a, EAX; + } + + assert(a == 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_jle_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jle_01_C; + +int main(){ + version(D_InlineAsm){ + int a = int.min; + int b = int.max; + + asm{ + mov EAX, a; + cmp EAX, b; + jle save; + mov EAX, 0; + save: mov a, EAX; + } + + assert(a == int.min); + + 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_jmp_01.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,34 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jmp_01; + +int main(){ + version(D_InlineAsm){ + int a = 0; + + asm{ + mov EAX, 0; + add EAX, 1; + save1: mov a, EAX; + } + + assert(a == 1); + + asm{ + mov EAX, 0; + jmp save2; + add EAX, 1; + save2: mov a, EAX; + } + + 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_jna_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jna_01_A; + +int main(){ + version(D_InlineAsm){ + uint a = 3; + uint b = 2; + + asm{ + mov EAX, a; + cmp EAX, b; + jna save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jna_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jna_01_B; + +int main(){ + version(D_InlineAsm){ + uint a = 3; + uint b = 3; + + asm{ + mov EAX, a; + cmp EAX, b; + jna save; + mov EAX, 0; + save: mov a, EAX; + } + + assert(a == 3); + + 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_jna_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jna_01_C; + +int main(){ + version(D_InlineAsm){ + uint a = 4; + uint b = 3; + + asm{ + mov EAX, a; + cmp EAX, b; + jna save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jnae_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnae_01_A; + +int main(){ + version(D_InlineAsm){ + uint a = 3; + uint b = 4; + + asm{ + mov EAX, a; + cmp EAX, b; + jnae save; + mov EAX, 0; + save: mov a, EAX; + } + + assert(a == 3); + + 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_jnae_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnae_01_B; + +int main(){ + version(D_InlineAsm){ + uint a = 4; + uint b = 4; + + asm{ + mov EAX, a; + cmp EAX, b; + jnae save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jnae_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnae_01_C; + +int main(){ + version(D_InlineAsm){ + uint a = 4; + uint b = 3; + + asm{ + mov EAX, a; + cmp EAX, b; + jnae save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jnb_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnb_01_A; + +int main(){ + version(D_InlineAsm){ + uint a = 3; + uint b = 4; + + asm{ + mov EAX, a; + cmp EAX, b; + jnb save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jnb_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnb_01_B; + +int main(){ + version(D_InlineAsm){ + uint a = 4; + uint b = 4; + + asm{ + mov EAX, a; + cmp EAX, b; + jnb save; + mov EAX, 0; + save: mov a, EAX; + } + + assert(a == 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_jnb_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnb_01_C; + +int main(){ + version(D_InlineAsm){ + uint a = 3; + uint b = 4; + + asm{ + mov EAX, a; + cmp EAX, b; + jnb save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jnbe_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnbe_01_A; + +int main(){ + version(D_InlineAsm){ + uint a = 4; + uint b = 3; + + asm{ + mov EAX, a; + cmp EAX, b; + jnbe save; + mov EAX, 0; + save: mov a, EAX; + } + + assert(a == 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_jnbe_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnbe_01_B; + +int main(){ + version(D_InlineAsm){ + uint a = 4; + uint b = 4; + + asm{ + mov EAX, a; + cmp EAX, b; + jnbe save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jnbe_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnbe_01_C; + +int main(){ + version(D_InlineAsm){ + uint a = 3; + uint b = 4; + + asm{ + mov EAX, a; + cmp EAX, b; + jnbe save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jnc_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnc_01_A; + +int main(){ + version(D_InlineAsm){ + uint a; + + asm{ + clc; + mov EAX, 1; + jnc save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jnc_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnc_01_B; + +int main(){ + version(D_InlineAsm){ + uint a; + + asm{ + stc; + mov EAX, 1; + jnc save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jne_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jne_01_A; + +int main(){ + version(D_InlineAsm){ + uint a = 3; + uint b = 4; + + asm{ + mov EAX, a; + cmp EAX, b; + jne save; + mov EAX, 0; + save: mov a, EAX; + } + + assert(a == 3); + + 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_jne_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jne_01_B; + +int main(){ + version(D_InlineAsm){ + uint a = 4; + uint b = 4; + + asm{ + mov EAX, a; + cmp EAX, b; + jne save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jne_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jne_01_C; + +int main(){ + version(D_InlineAsm){ + uint a = 4; + uint b = 3; + + asm{ + mov EAX, a; + cmp EAX, b; + jne save; + mov EAX, 0; + save: mov a, EAX; + } + + assert(a == 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_jng_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jng_01_A; + +int main(){ + version(D_InlineAsm){ + int a = int.max; + int b = int.min; + + asm{ + mov EAX, a; + cmp EAX, b; + jng save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jng_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jng_01_B; + +int main(){ + version(D_InlineAsm){ + int a = 4; + int b = 4; + + asm{ + mov EAX, a; + cmp EAX, b; + jng save; + mov EAX, 0; + save: mov a, EAX; + } + + assert(a == 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_jng_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jng_01_C; + +int main(){ + version(D_InlineAsm){ + int a = int.min; + int b = int.max; + + asm{ + mov EAX, a; + cmp EAX, b; + jng save; + mov EAX, 0; + save: mov a, EAX; + } + + assert(a == int.min); + + 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_jnge_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnge_01_A; + +int main(){ + version(D_InlineAsm){ + int a = int.max; + int b = int.min; + + asm{ + mov EAX, a; + cmp EAX, b; + jnge save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jnge_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnge_01_B; + +int main(){ + version(D_InlineAsm){ + int a = 4; + int b = 4; + + asm{ + mov EAX, a; + cmp EAX, b; + jnge save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jnge_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnge_01_C; + +int main(){ + version(D_InlineAsm){ + int a = int.min; + int b = int.max; + + asm{ + mov EAX, a; + cmp EAX, b; + jnge save; + mov EAX, 0; + save: mov a, EAX; + } + + assert(a == int.min); + + 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_jnl_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnl_01_A; + +int main(){ + version(D_InlineAsm){ + int a = int.max; + int b = int.min; + + asm{ + mov EAX, a; + cmp EAX, b; + jnl save; + mov EAX, 0; + save: mov a, EAX; + } + + assert(a == int.max); + + 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_jnl_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnl_01_B; + +int main(){ + version(D_InlineAsm){ + int a = 4; + int b = 4; + + asm{ + mov EAX, a; + cmp EAX, b; + jnl save; + mov EAX, 0; + save: mov a, EAX; + } + + assert(a == 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_jnl_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnl_01_C; + +int main(){ + version(D_InlineAsm){ + int a = uint.min; + int b = uint.max; + + asm{ + mov EAX, a; + cmp EAX, b; + jnl save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jnle_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnle_01_A; + +int main(){ + version(D_InlineAsm){ + int a = int.max; + int b = int.min; + + asm{ + mov EAX, a; + cmp EAX, b; + jnle save; + mov EAX, 0; + save: mov a, EAX; + } + + assert(a == int.max); + + 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_jnle_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnle_01_B; + +int main(){ + version(D_InlineAsm){ + int a = 4; + int b = 4; + + asm{ + mov EAX, a; + cmp EAX, b; + jnle save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jnle_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnle_01_C; + +int main(){ + version(D_InlineAsm){ + int a = int.min; + int b = int.max; + + asm{ + mov EAX, a; + cmp EAX, b; + jnle save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jno_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jno_01_A; + +int main(){ + version(D_InlineAsm){ + int a = int.min; + int b = 1; + + asm{ + mov EAX, a; + cmp EAX, b; + jno save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jno_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jno_01_B; + +int main(){ + version(D_InlineAsm){ + int a = int.min+1; + int b = 1; + + asm{ + mov EAX, a; + cmp EAX, b; + jno save; + mov EAX, 0; + save: mov a, EAX; + } + + assert(a == int.min+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_jnp_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnp_01_A; + +int main(){ + version(D_InlineAsm){ + byte a; + + asm{ + mov AL, 3; + cmp AL, 1; + jnp save; + mov AL, 0; + save: mov a, AL; + } + + assert(a == 3); + + 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_jnp_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnp_01_B; + +int main(){ + version(D_InlineAsm){ + byte a; + + asm{ + mov AL, 3; + cmp AL, 2; + jnp save; + mov AL, 0; + save: mov a, AL; + } + + assert(a == 3); + + 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_jnp_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnp_01_C; + +int main(){ + version(D_InlineAsm){ + byte a; + + asm{ + mov AL, 3; + cmp AL, 3; + jnp save; + mov AL, 0; + save: mov a, AL; + } + + 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_jnp_01_D.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnp_01_D; + +int main(){ + version(D_InlineAsm){ + byte a; + + asm{ + mov AL, 3; + cmp AL, -1; + jnp save; + mov AL, 0; + save: mov a, AL; + } + + assert(a == 3); + + 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_jns_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jns_01_A; + +int main(){ + version(D_InlineAsm){ + int a; + + asm{ + mov EAX, 2; + cmp EAX, 3; + jns save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jns_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jns_01_B; + +int main(){ + version(D_InlineAsm){ + int a; + + asm{ + mov EAX, 3; + cmp EAX, 2; + jns save; + mov EAX, 0; + save: mov a, EAX; + } + + assert(a == 3); + + 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_jnz_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnz_01_A; + +int main(){ + version(D_InlineAsm){ + int a; + + asm{ + mov EAX, 1; + cmp EAX, 1; + jnz save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jnz_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnz_01_B; + +int main(){ + version(D_InlineAsm){ + int a; + + asm{ + mov EAX, 1; + cmp EAX, 2; + jnz save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jnz_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jnz_01_C; + +int main(){ + version(D_InlineAsm){ + int a; + + asm{ + mov EAX, 1; + cmp EAX, -1; + jnz save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jo_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jo_01_A; + +int main(){ + version(D_InlineAsm){ + int a = int.min; + + asm{ + mov EAX, a; + cmp EAX, 1; + jo save; + mov EAX, 0; + save: mov a, EAX; + } + + assert(a == int.min); + + 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_jo_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jo_01_B; + +int main(){ + version(D_InlineAsm){ + int a = int.min-1; + + asm{ + mov EAX, a; + cmp EAX, 1; + jo save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jp_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jp_01_A; + +int main(){ + version(D_InlineAsm){ + int a = int.min; + + asm{ + mov AL, 1; + cmp AL, 1; + jp save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jp_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jp_01_B; + +int main(){ + version(D_InlineAsm){ + int a = int.min; + + asm{ + mov AL, 1; + cmp AL, 0; + jp save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jpe_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jpe_01_A; + +int main(){ + version(D_InlineAsm){ + int a = int.min; + + asm{ + mov EAX, 8; + cmp EAX, 2; + jpe save; + mov EAX, 0; + save: mov a, EAX; + } + + assert(a == 8); + + 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_jpe_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jpe_01_B; + +int main(){ + version(D_InlineAsm){ + int a = int.min; + + asm{ + mov EAX, 8; + cmp EAX, 4; + jpe save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jpo_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jpo_01_A; + +int main(){ + version(D_InlineAsm){ + int a = int.min; + + asm{ + mov EAX, 8; + cmp EAX, 2; + jpo save; + mov EAX, 0; + save: mov a, EAX; + } + + 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_jpo_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jpo_01_B; + +int main(){ + version(D_InlineAsm){ + int a = int.min; + + asm{ + mov EAX, 8; + cmp EAX, 4; + jpo save; + mov EAX, 0; + save: mov a, EAX; + } + + assert(a == 8); + + 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_js_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_js_01_A; + +int main(){ + version(D_InlineAsm){ + int a = int.min; + + asm{ + mov EAX, 0; + cmp EAX, 1; + js save; + mov EAX, 5; + save: mov a, EAX; + } + + 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_js_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_js_01_B; + +int main(){ + version(D_InlineAsm){ + int a = int.min; + + asm{ + mov EAX, 0; + cmp EAX, 0; + js save; + mov EAX, 5; + save: mov a, EAX; + } + + assert(a == 5); + + 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_js_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_js_01_C; + +int main(){ + version(D_InlineAsm){ + int a = int.min; + + asm{ + mov EAX, 0; + cmp EAX, -1; + js save; + mov EAX, 5; + save: mov a, EAX; + } + + assert(a == 5); + + 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_jz_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jz_01_A; + +int main(){ + version(D_InlineAsm){ + uint a=5; + uint b=5; + + asm{ + mov EAX, a; + cmp EAX, b; + jz save; + add EAX, 1; + save: mov a, EAX; + } + + assert(a == 5); + + 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_jz_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jz_01_B; + +int main(){ + version(D_InlineAsm){ + uint a=5; + uint b=4; + + asm{ + mov EAX, a; + cmp EAX, b; + jz save; + add EAX, 1; + save: mov a, EAX; + } + + assert(a == 6); + + 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_jz_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,27 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_jz_01_C; + +int main(){ + version(D_InlineAsm){ + uint a=5; + uint b=6; + + asm{ + mov EAX, a; + cmp EAX, b; + jz save; + add EAX, 1; + save: mov a, EAX; + } + + assert(a == 6); + + 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_movsx_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,30 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_movsx_01_B; + +import std.stdio; + +int main(){ + version(D_InlineAsm){ + uint i=0x12_3F_FF_FFu; + byte b=-128; + + assert(i==0x12_3F_FF_FFu); + + asm{ + mov EAX, i; + mov AL, b; + movsx AX, AL; + mov i, EAX; + } + + assert(i== 0x12_3F_FF_80u); + + 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_mul_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,26 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_mul_01_A; + +int main(){ + version(D_InlineAsm){ + ushort a; + ubyte x = byte.max+2; + + asm{ + mov EAX, 0x12_34_56_78u; + mov AL, 2; + mul x; + mov a, AX; + } + + assert(a==(byte.max+2)*2); + + 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_mul_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,29 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_mul_01_B; + +int main(){ + version(D_InlineAsm){ + ushort a, b; + ushort x = short.max+2; + + asm{ + mov EAX, 0x12_34_56_78u; + mov EDX, 0x12_34_56_78u; + mov AX, 2; + mul x; + mov a, DX; + mov b, AX; + } + + assert(a==1u); + assert(b==2u); + + 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_mul_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,29 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_mul_01_C; + +int main(){ + version(D_InlineAsm){ + uint a, b; + uint x = int.max+2; + + asm{ + mov EAX, 0x12_34_56_78u; + mov EDX, 0x12_34_56_78u; + mov EAX, 2; + mul x; + mov a, EDX; + mov b, EAX; + } + + assert(a==1u); + assert(b==2u); + + 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_neg_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,22 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_neg_01_A; + +int main(){ + version(D_InlineAsm){ + byte y = 2; + + asm{ + neg y; + } + + assert(y == -2); + + 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_neg_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,22 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_neg_01_B; + +int main(){ + version(D_InlineAsm){ + short y = -1234; + + asm{ + neg y; + } + + assert(y == 1234); + + 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_neg_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,22 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_neg_01_C; + +int main(){ + version(D_InlineAsm){ + int y = 0x12_34_56_78; + + asm{ + neg y; + } + + assert(y == - 0x12_34_56_78); + + 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_neg_02_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,23 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_neg_02_B; + +int main(){ + version(D_InlineAsm){ + short y = -1234; + + asm{ + lock; + neg y; + } + + assert(y == 1234); + + 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_neg_02_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,23 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_neg_02_C; + +int main(){ + version(D_InlineAsm){ + int y = 0x12_34_56_78; + + asm{ + lock; + neg y; + } + + assert(y == - 0x12_34_56_78); + + 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_sbb_01_A.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,38 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_sbb_01_A; + +int main(){ + version(D_InlineAsm){ + byte a = 50; + byte b = 30; + + asm{ + clc; + mov AL, a; + sbb AL, b; + mov a, AL; + } + + assert(a == 20); + + a = 50; + b = 30; + + asm{ + stc; + mov AL, a; + sbb AL, b; + mov a, AL; + } + + assert(a == 19); + + 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_sbb_01_B.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,38 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_sbb_01_B; + +int main(){ + version(D_InlineAsm){ + short a = 500; + short b = 300; + + asm{ + clc; + mov AX, a; + sbb AX, b; + mov a, AX; + } + + assert(a == 200); + + a = 500; + b = 300; + + asm{ + stc; + mov AX, a; + sbb AX, b; + mov a, AX; + } + + assert(a == 199); + + 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_sbb_01_C.d Tue Aug 23 22:23:55 2005 +0000 @@ -0,0 +1,38 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +module dstress.run.a.asm_sbb_01_C; + +int main(){ + version(D_InlineAsm){ + int a = 50000; + int b = 30000; + + asm{ + clc; + mov EAX, a; + sbb EAX, b; + mov a, EAX; + } + + assert(a == 20000); + + a = 50000; + b = 30000; + + asm{ + stc; + mov EAX, a; + sbb EAX, b; + mov a, EAX; + } + + assert(a == 19999); + + return 0; + }else{ + pragma(msg, "no Inline asm support"); + static assert(0); + } +} \ No newline at end of file