Merge branch 'main' of https://git.sintekanalytics.com/SpiderLang/spider-runtime
This commit is contained in:
@@ -71,13 +71,13 @@ namespace spider {
|
||||
// TODO: Implement COM
|
||||
fetchOperDst();
|
||||
switch(_size){
|
||||
case 0b00:
|
||||
case 0b00: //byte
|
||||
_dst->_u8 = ~_dst->_u8;
|
||||
case 0b01:
|
||||
case 0b01: //short
|
||||
_dst->_u16 = ~_dst->_u16;
|
||||
case 0b10:
|
||||
case 0b10: //int
|
||||
_dst->_u32 = ~_dst->_u32;
|
||||
case 0b11:
|
||||
case 0b11: //long
|
||||
_dst->_u64 = ~_dst->_u64;
|
||||
}
|
||||
(this->*_post)();
|
||||
@@ -87,13 +87,13 @@ namespace spider {
|
||||
// TODO: Implement NEG
|
||||
fetchOperDst();
|
||||
switch(_size){
|
||||
case 0b00:
|
||||
case 0b00: //byte
|
||||
_dst->_u8 = 1 + ~_dst->_u8;
|
||||
case 0b01:
|
||||
case 0b01: //short
|
||||
_dst->_u16 = 1+ ~_dst->_u16;
|
||||
case 0b10:
|
||||
case 0b10: //int
|
||||
_dst->_u32 = 1 + ~_dst->_u32;
|
||||
case 0b11:
|
||||
case 0b11: //long
|
||||
_dst->_u64 = 1 + ~_dst->_u64;
|
||||
}
|
||||
(this->*_post)();
|
||||
@@ -101,6 +101,19 @@ namespace spider {
|
||||
|
||||
void CPU::EXS() {
|
||||
// TODO: Implement EXS
|
||||
fetchOperDst();
|
||||
switch(_size){
|
||||
case 0b00: //byte
|
||||
_dst->_u32 = _dst->_u8 & 1;
|
||||
case 0b01: //short
|
||||
_dst->_u32 = _dst->_u16 & 1;
|
||||
case 0b10: //int
|
||||
_dst->_u32 = _dst->_u32 & 1;
|
||||
case 0b11: //long
|
||||
_dst->_u32 = _dst->_u64 & 1;
|
||||
}
|
||||
_dst->_u32 = _dst->_u8;
|
||||
(this->*_post)();
|
||||
}
|
||||
|
||||
void CPU::INC() {
|
||||
|
||||
Reference in New Issue
Block a user