add sign extension for immediate mode add (imm5)
this part of code converts 5bit numbers to 8bit numbers in case of imm5 type of add, preserving sign when negative
This commit is contained in:
@@ -96,9 +96,14 @@ enum flags {
|
||||
FL_N = 1 << 2, // Negative
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
/* sign extension for immediate add mode (imm5[0:4])
|
||||
transforms 5bit number to 8bit number preserving sign*/
|
||||
uint16_t sign_extend(uint16_t bin, int bit_count) {
|
||||
if((bin >> (bit_count - 1)) & 1) {
|
||||
bin |= (0xFFFF << bit_count);
|
||||
}
|
||||
return bin;
|
||||
}
|
||||
|
||||
/* main loop */
|
||||
int main(int argc, const char* argv[]) {
|
||||
|
||||
Reference in New Issue
Block a user