Home | History | Annotate | Line # | Download | only in bfin
      1  1.1  christos //  MAC test program.
      2  1.1  christos //  Test result extraction of mac instructions.
      3  1.1  christos //  Test basic edge values
      4  1.1  christos //  UNSIGNED INTEGER mode into SINGLE destination register
      5  1.1  christos //  test ops: "+="
      6  1.1  christos # mach: bfin
      7  1.1  christos 
      8  1.1  christos .include "testutils.inc"
      9  1.1  christos 	start
     10  1.1  christos 
     11  1.1  christos 
     12  1.1  christos // load r0=0x80000002
     13  1.1  christos // load r1=0x80007fff
     14  1.1  christos // load r2=0xf0000000
     15  1.1  christos // load r3=0x0000007f
     16  1.1  christos // load r4=0x00000080
     17  1.1  christos // load r5=0xffffffff
     18  1.1  christos 	loadsym P0, data0;
     19  1.1  christos 	R0 = [ P0 ++ ];
     20  1.1  christos 	R1 = [ P0 ++ ];
     21  1.1  christos 	R2 = [ P0 ++ ];
     22  1.1  christos 	R3 = [ P0 ++ ];
     23  1.1  christos 	R4 = [ P0 ++ ];
     24  1.1  christos 	R5 = [ P0 ++ ];
     25  1.1  christos 
     26  1.1  christos // 0x0002 * 0x0002 = 0x0000000004 -> 0x0004
     27  1.1  christos 	A1 = A0 = 0;
     28  1.1  christos 	R5.H = (A1 += R0.L * R0.L), R5.L = (A0 += R0.L * R0.L) (IU);
     29  1.1  christos 	DBGA ( R5.L , 0x4 );
     30  1.1  christos 	DBGA ( R5.H , 0x4 );
     31  1.1  christos 
     32  1.1  christos // 0x7fff * 0x007f = 0x00003f7f81 -> 0xffff
     33  1.1  christos 	A1 = A0 = 0;
     34  1.1  christos 	R5.H = (A1 += R1.L * R3.L), R5.L = (A0 += R1.L * R3.L) (IU);
     35  1.1  christos 	R5.H = (A1 += R1.L * R3.L), R5.L = (A0 += R1.L * R3.L) (IU);
     36  1.1  christos 	DBGA ( R5.L , 0xffff );
     37  1.1  christos 	DBGA ( R5.H , 0xffff );
     38  1.1  christos 
     39  1.1  christos 	pass
     40  1.1  christos 
     41  1.1  christos 	.data;
     42  1.1  christos data0:
     43  1.1  christos 	.dw 0x0002
     44  1.1  christos 	.dw 0x8000
     45  1.1  christos 	.dw 0x7fff
     46  1.1  christos 	.dw 0x8000
     47  1.1  christos 	.dw 0x0000
     48  1.1  christos 	.dw 0xf000
     49  1.1  christos 	.dw 0x007f
     50  1.1  christos 	.dw 0x0000
     51  1.1  christos 	.dw 0x0080
     52  1.1  christos 	.dw 0x0000
     53  1.1  christos 	.dw 0xffff
     54  1.1  christos 	.dw 0xffff
     55