Beispiel #1
0
/* SUB */
void test_sub() {
    T1=2;
    T2=2;
    test_execute(create_rtype_hex(FC_SUB, 0x0000, I_T0, I_T1, I_T2, OC_SUB));
    assert(T0==0);

    T1=1;
    T2=2;
    test_execute(create_rtype_hex(FC_SUB, 0x0000, I_T0, I_T1, I_T2, OC_SUB));
    assert(T0==1);

    T1=2;
    T2=1;
    test_execute(create_rtype_hex(FC_SUB, 0x0000, I_T0, I_T1, I_T2, OC_SUB));
    assert(T0==-1);

    T1=1;
    T2=-2;
    test_execute(create_rtype_hex(FC_SUB, 0x0000, I_T0, I_T1, I_T2, OC_SUB));
    assert(T0==-3);


    T1=-1;
    T2=-2;
    test_execute(create_rtype_hex(FC_SUB, 0x0000, I_T0, I_T1, I_T2, OC_SUB));
    assert(T0==-1);
}
Beispiel #2
0
/* SUB */
void test_sub() {
	T1 = 5;
	T2 = 3;
	test_execute(create_rtype_hex(FC_SUB, 0x0000, I_T0, I_T1, I_T2, OC_SUB));
	assert(T0 == -2);
	
	T1 = 3; 
	T2 = 6;
	test_execute(create_rtype_hex(FC_SUB, 0x0000, I_T0, I_T1, I_T2, OC_SUB));
	assert(T0 == 3);
}
Beispiel #3
0
Datei: cSerie1.c Projekt: pas/ra
int main(int argc, const char * argv[]) {
    initialize();
    testPrint(create_rtype_hex(FC_ADD, 0x0000, I_T0, I_T1, I_T2, OC_ADD));
    testPrint(create_itype_hex(0x0001, I_T0, I_ZERO, OC_ADDI));
    testPrint(create_jtype_hex(0xCD1234, OC_J));
    testPrint(create_itype_hex(0xBBBB, I_T0, I_ZERO, OC_LUI));
    testPrint(create_itype_hex(0xA03B, I_T0, I_T1, OC_LW));
    testPrint(create_itype_hex(0x0101, I_T0, I_T0, OC_ORI));
    testPrint(create_rtype_hex(FC_SUB, 0x0002, I_T0, I_T1, I_T2, OC_SUB));
    testPrint(create_itype_hex(0xD070, I_T0, I_T1, OC_SW));
    testPrint(create_specialtype_hex(OC_STOP));
    return 0;
}
Beispiel #4
0
/* ADD */
void test_add() {
    T1=1;
    T2=1;
    test_execute(create_rtype_hex(FC_ADD, 0x0000, I_T0, I_T1, I_T2, OC_ADD));
    assert(T0==2);

    T1=1;
    T2=-1;
    test_execute(create_rtype_hex(FC_ADD, 0x0000, I_T0, I_T1, I_T2, OC_ADD));
    assert(T0==0);

    T1=-1;
    T2=-1;
    test_execute(create_rtype_hex(FC_ADD, 0x0000, I_T0, I_T1, I_T2, OC_ADD));
    assert(T0==-2);
}
/* SUB */
void test_sub() {
    T1 = 4;
    T2 = 5;
    test_execute(create_rtype_hex(FC_SUB, 0x0000, I_T0, I_T1, I_T2, OC_SUB));
    assert(T0==1);
    
    T1 = 7;
    T2 = 3;
    test_execute(create_rtype_hex(FC_SUB, 0x0000, I_T0, I_T1, I_T2, OC_SUB));
    assert(T0==-4);
    
    T1 = 4;
    T2 = -1;
    test_execute(create_rtype_hex(FC_SUB, 0x0000, I_T0, I_T1, I_T2, OC_SUB));
    assert(T0==-5);
}
Beispiel #6
0
/* SUB */
void test_sub() {
	T1=2;
        T2=8;
        test_execute(create_rtype_hex(FC_SUB, 0x0000, I_T0, I_T1, I_T2, OC_SUB));
        assert(T0==6);

        T1=8;
        T2=2;
        test_execute(create_rtype_hex(FC_SUB, 0x0000, I_T0, I_T1, I_T2, OC_SUB));
        assert(T0==-6);

        T1=4;
        T2=4;
        test_execute(create_rtype_hex(FC_SUB, 0x0000, I_T0, I_T1, I_T2, OC_SUB));
        assert(T0==0);
}
Beispiel #7
0
/* MULT */
void test_mult() {
    T1=2;
    T2=3;
    test_execute(create_rtype_hex(FC_MULT, 0x0000, I_T0, I_T1, I_T2, OC_MULT));
    assert(T0==6);

    T1=-2;
    T2=3;
    test_execute(create_rtype_hex(FC_MULT, 0x0000, I_T0, I_T1, I_T2, OC_MULT));
    assert(T0==-6);

    T1=2;
    T2=-3;
    test_execute(create_rtype_hex(FC_MULT, 0x0000, I_T0, I_T1, I_T2, OC_MULT));
    assert(T0==-6);

    T1=-2;
    T2=-3;
    test_execute(create_rtype_hex(FC_MULT, 0x0000, I_T0, I_T1, I_T2, OC_MULT));
    assert(T0==6);
}
Beispiel #8
0
/* DIV */
void test_div() {
    T1=4;
    T2=8;
    test_execute(create_rtype_hex(FC_DIV, 0x0000, I_T0, I_T1, I_T2, OC_DIV));
    assert(T0==2);

    T1=4;
    T2=5;
    test_execute(create_rtype_hex(FC_DIV, 0x0000, I_T0, I_T1, I_T2, OC_DIV));
    assert(T0==1);

    T1=5;
    T2=4;
    test_execute(create_rtype_hex(FC_DIV, 0x0000, I_T0, I_T1, I_T2, OC_DIV));
    assert(T0==0);

    T1=4;
    T2=-8;
    test_execute(create_rtype_hex(FC_DIV, 0x0000, I_T0, I_T1, I_T2, OC_DIV));
    assert(T0==-2);

    T1=-2;
    T2=8;
    test_execute(create_rtype_hex(FC_DIV, 0x0000, I_T0, I_T1, I_T2, OC_DIV));
    assert(T0==-4);

    T1=-8;
    T2=-8;
    test_execute(create_rtype_hex(FC_DIV, 0x0000, I_T0, I_T1, I_T2, OC_DIV));
    assert(T0==1);

    T1=5;
    T2=-8;
    test_execute(create_rtype_hex(FC_DIV, 0x0000, I_T0, I_T1, I_T2, OC_DIV));
    assert(T0==-1);
}