Fixed bug when yiedling inside OP_ADDK opcode

The family of opcodes OP_ADDK (arithmetic operators with K constant)
were not being handled in 'luaV_finishOp', which completes their
task after an yield.
diff --git a/lvm.c b/lvm.c
index 1cfc103..303954f 100644
--- a/lvm.c
+++ b/lvm.c
@@ -720,6 +720,9 @@
     case OP_ADDI: case OP_SUBI:
     case OP_MULI: case OP_DIVI: case OP_IDIVI:
     case OP_MODI: case OP_POWI:
+    case OP_ADDK: case OP_SUBK:
+    case OP_MULK: case OP_DIVK: case OP_IDIVK:
+    case OP_MODK: case OP_POWK:
     case OP_ADD: case OP_SUB:
     case OP_MUL: case OP_DIV: case OP_IDIV:
     case OP_BANDK: case OP_BORK: case OP_BXORK:
diff --git a/testes/coroutine.lua b/testes/coroutine.lua
index 79bbf2e..26ed1f6 100644
--- a/testes/coroutine.lua
+++ b/testes/coroutine.lua
@@ -724,6 +724,17 @@
 assert(run(function () return a % b end, {"mod"}) == 10)
 assert(run(function () return a // b end, {"idiv"}) == 0)
 
+-- repeat tests with larger constants (to use 'K' opcodes)
+local a1000 = new(1000)
+
+assert(run(function () return a1000 + 1000 end, {"add"}) == 2000)
+assert(run(function () return a1000 - 25000 end, {"sub"}) == -24000)
+assert(run(function () return 2000 * a end, {"mul"}) == 20000)
+assert(run(function () return a1000 / 1000 end, {"div"}) == 1)
+assert(run(function () return a1000 % 600 end, {"mod"}) == 400)
+assert(run(function () return a1000 // 500 end, {"idiv"}) == 2)
+
+
 
 assert(run(function () return a % b end, {"mod"}) == 10)