1
0
mirror of https://gitlab.os-k.eu/os-k-team/kvisc.git synced 2023-08-25 14:05:46 +02:00
kvisc/instr/INSTRS
2019-05-16 18:45:00 +02:00

124 lines
991 B
Plaintext

# The OS/K Team licences this file to you under the MIT license.
# See the LICENSE file in the project root for more information.
nop
#
# Logical instructions
#
not r
not m
and r r
and r i
and r m
and m r
and m i
and m m
or r r
or r i
or r m
or m r
or m i
or m m
xor r r
xor r i
xor r m
xor m r
xor m i
xor m m
# shift left logical
shl r r
shl r i
shl r m
shl m r
shl m i
shl m m
# shift right logical
shr r r
shr r i
shr r m
shr m r
shr m i
shr m m
#
# Unsigned arithmetic instructions
#
add r r
add r i
add r m
add m r
add m i
add m m
sub r r
sub r i
sub r m
sub m r
sub m i
sub m m
# rdx = hi(rax * $0)
# rax = lo(rax * $0)
mul r
mul i
# rdx = rax % $0
# rax = rax / $0
div r
div i
inc r
inc m
dec r
dec m
#
# Movement instructions
#
mov r r
mov r i
mov r m
mov m r
mov m i
mov m m
xchg r r
xchg r i
xchg r m
xchg m r
xchg m i
xchg m m
#
# Stack manipulation instructions
#
push i
push r
pop r
call r
call i
call m
ret
#
# Supervisor only instructions
#
cli
sti