mirror of
https://gitlab.os-k.eu/os-k-team/kvisc.git
synced 2023-08-25 14:05:46 +02:00
54 lines
1.2 KiB
Plaintext
54 lines
1.2 KiB
Plaintext
# The OS/K Team licenses this file to you under the MIT license.
|
|
# See the LICENSE file in the project root for more information.
|
|
|
|
Instruction encoding:
|
|
|
|
15 0 15 0
|
|
xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx
|
|
││└────────────┘ │└───┘└───┘└───┘
|
|
││ INSTR. │ CND FT1 FT2
|
|
││ │
|
|
LM R
|
|
|
|
M No more words
|
|
L LOCK prefix
|
|
R REP prefix
|
|
FT1 First operand format
|
|
FT2 Second operand format
|
|
|
|
Values for COND:
|
|
00000 (none)
|
|
00001 .C
|
|
00010 .O
|
|
00011 .Z .E
|
|
00100 .S
|
|
00101 .P
|
|
00110 .A
|
|
00111 .AE
|
|
01000 .B
|
|
01001 .BE
|
|
01010 .G
|
|
01011 .GE
|
|
01100 .L
|
|
01101 .LE
|
|
01110 .CXZ
|
|
01111 (reserved)
|
|
Highest (6th) bit of COND indicates negation
|
|
|
|
Fx values:
|
|
0000 (none)
|
|
0001 reg
|
|
0010 imm64
|
|
|
|
xxx00 [imm64]
|
|
xxx01 [reg+reg] code(reg)|code(reg)
|
|
xxx10 [reg+reg+imm16] code(reg)|code(reg) imm16
|
|
xxx11 [reg+reg*imm16+imm16] code(reg)|code(reg) imm16 imm16
|
|
|
|
Where xxx is:
|
|
001 8-bit access
|
|
010 16-bit access
|
|
011 32-bit access
|
|
100 64-bit access
|
|
|