rename idiv to sdiv
This commit is contained in:
parent
5f3275cf2d
commit
70720b8a16
|
@ -91,7 +91,7 @@ class Instruction(Enum):
|
|||
ADD = 3, ArgType.REG, ArgType.VAL, ArgType.VAL
|
||||
MUL = 4, ArgType.REG, ArgType.VAL, ArgType.VAL
|
||||
DIV = 5, ArgType.REG, ArgType.VAL, ArgType.VAL
|
||||
IDIV = 6, ArgType.REG, ArgType.VAL, ArgType.VAL
|
||||
SDIV = 6, ArgType.REG, ArgType.VAL, ArgType.VAL
|
||||
JL = 7, ArgType.LAB, ArgType.VAL, ArgType.VAL
|
||||
CLB = 8, ArgType.LAB
|
||||
SYS = 9, ArgType.VAL
|
||||
|
|
10
asm/test.py
10
asm/test.py
|
@ -267,16 +267,16 @@ class DivTest(unittest.TestCase):
|
|||
ex = ffi.Environment(p())
|
||||
self.assertEqual(ex(), ffi.RunRet.DIVIDE_BY_ZERO)
|
||||
|
||||
def test_idiv_by_zero(self):
|
||||
def test_sdiv_by_zero(self):
|
||||
p = Program()
|
||||
p.parse_asm_line("idiv r0 8 0")
|
||||
p.parse_asm_line("sdiv r0 8 0")
|
||||
ex = ffi.Environment(p())
|
||||
self.assertEqual(ex(), ffi.RunRet.DIVIDE_BY_ZERO)
|
||||
|
||||
def test_div_neg(self):
|
||||
def test_sdiv_neg(self):
|
||||
p = Program()
|
||||
p.parse_asm_line("idiv r0 16 -4")
|
||||
p.parse_asm_line("idiv r1 r0 -4")
|
||||
p.parse_asm_line("sdiv r0 16 -4")
|
||||
p.parse_asm_line("sdiv r1 r0 -4")
|
||||
ex = ffi.Environment(p())
|
||||
self.assertEqual(ex(), ffi.RunRet.STOP)
|
||||
self.assertEqual(ex.getreg(0), -4)
|
||||
|
|
4
creole.c
4
creole.c
|
@ -35,7 +35,7 @@ static const struct {
|
|||
defop(ADD, 3, TYPE_REG, TYPE_VAL, TYPE_VAL),
|
||||
defop(MUL, 3, TYPE_REG, TYPE_VAL, TYPE_VAL),
|
||||
defop(DIV, 3, TYPE_REG, TYPE_VAL, TYPE_VAL),
|
||||
defop(IDIV, 3, TYPE_REG, TYPE_VAL, TYPE_VAL),
|
||||
defop(SDIV, 3, TYPE_REG, TYPE_VAL, TYPE_VAL),
|
||||
defop(JL, 3, TYPE_LAB, TYPE_VAL, TYPE_VAL),
|
||||
defop(CLB, 1, TYPE_LAB, TYPE_NONE, TYPE_NONE),
|
||||
defop(SYS, 1, TYPE_VAL, TYPE_NONE, TYPE_NONE)
|
||||
|
@ -548,7 +548,7 @@ enum creole_run_ret creole_step(struct creole_env *env, creole_word *sc)
|
|||
return CREOLE_DIV_BY_ZERO;
|
||||
check(creole_reg_write(env, ins->w[0], a1 / a2));
|
||||
break;
|
||||
case CREOLE_IDIV:
|
||||
case CREOLE_SDIV:
|
||||
check(read_val(env, ins, 1, &a1));
|
||||
check(read_val(env, ins, 2, &a2));
|
||||
if (a2 == 0)
|
||||
|
|
Loading…
Reference in New Issue