mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-08 15:34:09 +00:00
Added SS-b support in C
This commit is contained in:
parent
9b9e1ea667
commit
cf4813f4ab
@ -24,7 +24,7 @@ enum {
|
|||||||
DASM_REL_PC, DASM_LABEL_PC,
|
DASM_REL_PC, DASM_LABEL_PC,
|
||||||
DASM_DISP12, DASM_DISP20,
|
DASM_DISP12, DASM_DISP20,
|
||||||
DASM_IMM16, DASM_IMM32,
|
DASM_IMM16, DASM_IMM32,
|
||||||
DASM_LEN8R,
|
DASM_LEN8R,DASM_LEN4HR,DASM_LEN4LR,
|
||||||
DASM__MAX
|
DASM__MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -289,6 +289,14 @@ void dasm_put(Dst_DECL, int start, ...)
|
|||||||
CK(n >= 1 && n <= 256, RANGE_I);
|
CK(n >= 1 && n <= 256, RANGE_I);
|
||||||
b[pos++] = n;
|
b[pos++] = n;
|
||||||
break;
|
break;
|
||||||
|
case DASM_LEN4HR:
|
||||||
|
CK(n >= 1 && n <= 128, RANGE_I);
|
||||||
|
b[pos++] = n;
|
||||||
|
break;
|
||||||
|
case DASM_LEN4LR:
|
||||||
|
CK(n >= 1 && n <= 128, RANGE_I);
|
||||||
|
b[pos++] = n;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
stop:
|
stop:
|
||||||
@ -370,6 +378,8 @@ int dasm_link(Dst_DECL, size_t * szp)
|
|||||||
case DASM_DISP20:
|
case DASM_DISP20:
|
||||||
case DASM_DISP12:
|
case DASM_DISP12:
|
||||||
case DASM_LEN8R:
|
case DASM_LEN8R:
|
||||||
|
case DASM_LEN4HR:
|
||||||
|
case DASM_LEN4LR:
|
||||||
pos++;
|
pos++;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -467,6 +477,12 @@ int dasm_encode(Dst_DECL, void *buffer)
|
|||||||
case DASM_LEN8R:
|
case DASM_LEN8R:
|
||||||
cp[-1] |= (n - 1) & 0xff;
|
cp[-1] |= (n - 1) & 0xff;
|
||||||
break;
|
break;
|
||||||
|
case DASM_LEN4HR:
|
||||||
|
cp[-1] |= (n - 1) & 0xf0;
|
||||||
|
break;
|
||||||
|
case DASM_LEN4LR:
|
||||||
|
cp[-1] |= (n - 1) & 0xof;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
*cp++ = ins;
|
*cp++ = ins;
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user