Skip to content

Commit aea8448

Browse files
authored
Update README with clarification on internal register usage
Clarified the explanation regarding uninitialized internal registers in the context of emulating certain opcodes.
1 parent 7895ca3 commit aea8448

File tree

1 file changed

+1
-2
lines changed

1 file changed

+1
-2
lines changed

v2_undefined/README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ Up for the challenge? See if you can pass these tests.
99
### Update 2025-03-16:
1010

1111
- As it turns out, the group sub-opcodes 3 and 5 of FE and FF, CALL FAR and JUMP FAR, cannot be traditionally emulated when register operands are specified.
12-
Due to assumptions made by the microcode, these routines use the state of internal registers (IND, tmpb and tmpa) that are uninitialized when the address calculation to fetch a memory operand
13-
is not peformed.
12+
Due to assumptions made by the microcode, these routines use the state an internal register (tmpb) that is uninitialized.
1413

1514
This means that these instructions leak the internal state of registers via the address used to fetch the new segment, and the values used to set the new code segment and program counter.
1615
The test suite does not give you enough information to determine what these values should be. The values observed in the test suite are no doubt influenced by the CPU register set up and queue

0 commit comments

Comments
 (0)