fix wrong access to cur(thanks to koturn)

This commit is contained in:
MITSUNARI Shigeo 2017-04-10 17:47:51 +09:00
parent 570a6aae61
commit 4b235f7085

View file

@ -96,25 +96,24 @@ public:
call(pPutchar); call(pPutchar);
pop(eax); pop(eax);
#elif defined(XBYAK64_WIN) #elif defined(XBYAK64_WIN)
mov(rcx, cur); mov(ecx, cur);
sub(rsp, 32); sub(rsp, 32);
call(pPutchar); call(pPutchar);
add(rsp, 32); add(rsp, 32);
#else #else
mov(rdi, cur); mov(edi, cur);
call(pPutchar); call(pPutchar);
#endif #endif
break; break;
case ',': case ',':
#if defined(XBYAK32) || defined(XBYAK64_GCC) #if defined(XBYAK32) || defined(XBYAK64_GCC)
call(pGetchar); call(pGetchar);
mov(cur, eax);
#elif defined(XBYAK64_WIN) #elif defined(XBYAK64_WIN)
sub(rsp, 32); sub(rsp, 32);
call(pGetchar); call(pGetchar);
add(rsp, 32); add(rsp, 32);
mov(cur, rax);
#endif #endif
mov(cur, eax);
break; break;
case '[': case '[':
L(toStr(labelNo, B)); L(toStr(labelNo, B));