Skip to content

Commit

Permalink
fix wrong arrow in x86 prefixes and escape opcodes flowchart
Browse files Browse the repository at this point in the history
  • Loading branch information
soc committed Jan 11, 2025
1 parent cce451c commit 69a8e8d
Showing 1 changed file with 17 additions and 17 deletions.
34 changes: 17 additions & 17 deletions _interfaces/x86-prefixes-and-escape-opcodes-flowchart.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,23 +13,23 @@ markdeep: true
║ 1-byte instructions (legacy map 0) │0F------------->║ 2-byte instructions (legacy map 1) ║
║ └──╢ ║ ║
╟──────────────────────────────────────────────────╢ .------>║ operand type specified ┌──┐ ┌──┐ ║
40-4F ║ | ║ via mandatory prefixes │38│ │3A--------------.
╟────────────────────────────|─────────────────────╢ | .--->║ - none (packed single) └─|┘ └──┘ ║ |
║ ┌──┐ ┌──┬──┐ | ║ | | ║ - 66 (packed double) | ║ |
║ .--62│ │66│67│ | ║ | | ║ - F2 (scalar single) | ║ |
║ | └──┘ └─|┴─|┘ | ║ | | ║ - F3 (scalar double) | ║ |
║ | | | | ┌──┬──┐ ║ | | ╚═══════════════════════════════|══════════════════╝ |
║ | | | | │C4│C5-----. ║ | | v |
║ | | | | └|─┼──┤ | ║ | | ╔══════════════════════════════════════════════════╗ |
╟──┐ | ┌──┬──┐ | | | | │D5│ | ║ | +--->║ 3-byte instructions (legacy map 2) ║ |
║F0│ | │F2│F3│ | | | | └─|┘ | ║ | | ║ ║ |
╚══╧═|═╧═|╧═|╧══════|══|═════|═════|═══|═════|═════╝ | | ║ operand type specified ║ |
| | | ^ | | |^ | |^ | | | ║ via mandatory prefixes ║ |
| | | | | | || | || | | | ║ - none (packed single) ║ |
v '--+---+---+--' v| v v| v | | ║ - 66 (packed double) ║ |
┏━━━━┓ | ┏━━━|┓┏━━━━┓┏━|━━┓┏━━━━┓ | | ║ - F2 (scalar single) ║ |
┃EVEX┃ | ┃REX1┃┃VEX3┃┃REX2┃┃VEX2┃-------' | ║ - F3 (scalar double) ║ |
┗━━|━┛ | ┗━━━━┛┗━━|━┛┗━━━━┛┗━━━━┛ m bits | ╚══════════════════════════════════════════════════╝ |
║ 40-4F ║ | ║ via mandatory prefixes │38│ │3A--------------.
╟───────────────────────────|──────────────────────╢ | .--->║ - none (packed single) └─|┘ └──┘ ║ |
║ ┌──┐ ┌──┬──┐ | ║ | | ║ - 66 (packed double) | ║ |
║ .--62│ │66│67│ | ║ | | ║ - F2 (scalar single) | ║ |
║ | └──┘ └─|┴─|┘ | ║ | | ║ - F3 (scalar double) | ║ |
║ | | | | ┌──┬──┐ ║ | | ╚═══════════════════════════════|══════════════════╝ |
║ | | | | │C4│C5-----. ║ | | v |
║ | | | | └|─┼──┤ | ║ | | ╔══════════════════════════════════════════════════╗ |
╟──┐ | ┌──┬──┐ | | | | │D5│ | ║ | +--->║ 3-byte instructions (legacy map 2) ║ |
║F0│ | │F2│F3│ | | | | └─|┘ | ║ | | ║ ║ |
╚══╧═|═╧═|╧═|╧══════|══|════|══════|═══|═════|═════╝ | | ║ operand type specified ║ |
| | | ^ | | | ^ | | ^ | | | ║ via mandatory prefixes ║ |
| | | | | | | | | | +---|-----------' | ║ - none (packed single) ║ |
v '--+---+---+--' v | v v | v m bit | ║ - 66 (packed double) ║ |
┏━━━━┓ | ┏━━━|┓┏━━━━┓┏━━|━┓┏━━━━┓ | ║ - F2 (scalar single) ║ |
┃EVEX┃ | ┃REX1┃┃VEX3┃┃REX2┃┃VEX2┃ | ║ - F3 (scalar double) ║ |
┗━━|━┛ | ┗━━━━┛┗━━|━┛┗━━━━┛┗━━━━┛ | ╚══════════════════════════════════════════════════╝ |
| | | | |
'----------+------------------+------------------------+ ╔══════════════════════════════════════════════════╗ |
m bits '--->║ 3-byte instructions (legacy map 3) ║<-+
Expand Down

0 comments on commit 69a8e8d

Please sign in to comment.