Not sure how I missed the R_RM8 and R_RM16 decoder.
This commit is contained in:
parent
c90b99d650
commit
6f539fff1e
@ -1190,6 +1190,24 @@ int nec_decode_instruction(uint16_t segment, uint16_t offset, char *buffer, unsi
|
||||
strncat(buffer, buf, bufferSize);
|
||||
break;
|
||||
|
||||
case PR_R_RM8:
|
||||
param1 = cpu_readmem20(MAKE_LINEAR(segment, currentOffset));
|
||||
currentOffset++;
|
||||
get_mod_reg_rm(param1, NULL, ®, NULL, &modrm);
|
||||
snprintf(buf, 63, " %s,", modrmReg8List[reg]);
|
||||
strncat(buffer, buf, bufferSize);
|
||||
currentOffset += decode_modrm(segment, currentOffset, modrm, true, buffer, bufferSize);
|
||||
break;
|
||||
|
||||
case PR_R_RM16:
|
||||
param1 = cpu_readmem20(MAKE_LINEAR(segment, currentOffset));
|
||||
currentOffset++;
|
||||
get_mod_reg_rm(param1, NULL, ®, NULL, &modrm);
|
||||
snprintf(buf, 63, " %s,", modrmReg16List[reg]);
|
||||
strncat(buffer, buf, bufferSize);
|
||||
currentOffset += decode_modrm(segment, currentOffset, modrm, false, buffer, bufferSize);
|
||||
break;
|
||||
|
||||
case PR_RM16_SEG:
|
||||
param1 = cpu_readmem20(MAKE_LINEAR(segment, currentOffset));
|
||||
currentOffset++;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user