kvisc/vm/in/MISC

88 lines
1.5 KiB
Plaintext
Raw Normal View History

2019-06-23 12:40:18 +02:00
# The OS/K Team licenses this file to you under the MIT license.
# See the LICENSE file in the project root for more information.
#---------------------------------------------------------------------------#
# Misc. instructions #
#---------------------------------------------------------------------------#
#
# Do nothing (NOOP)
#
# (nothing)
#
# Throws:
# (nothing)
#
# Preserves all flags
#
nop
#
# Pause the CPU for a very short amount of time (PAUSE)
# Used in spin-like loops
#
pause
#
# Pause the CPU for a relatively long time (XPAUSE)
#
# Throws:
# #SYS if not in supervisor mode
#
xpause
#
# Get timestamp in seconds
#
2019-07-04 20:33:49 +02:00
time r
2019-06-23 12:40:18 +02:00
#
# Get timestamp in µseconds
#
2019-07-04 20:33:49 +02:00
utime r
2019-06-23 12:40:18 +02:00
#
# CPU Identification Number
#
# Does nothing (for now)
#
cpuid
#---------------------------------------------------------------------------#
# Clean-up misc. instructions #
#---------------------------------------------------------------------------#
#
2019-07-10 17:17:45 +02:00
# Clear all GPR registers except RBP/RSP
2019-06-23 12:40:18 +02:00
#
2019-07-10 17:17:45 +02:00
cls
#
# Clear base registers except RBP/RSP (CLR)
2019-06-23 12:40:18 +02:00
#
clr
#
# Clear argument registers (CLA)
#
cla
2019-07-10 17:17:45 +02:00
#
# Clear nonvolatile registers (CLN)
#
cln
2019-06-23 12:40:18 +02:00
#---------------------------------------------------------------------------#
# Byte-wise / bit-wise manipulation instructions #
#---------------------------------------------------------------------------#
#
# Byte/word/dword swap (xSWAP)
#
# Change endianness
#
2019-07-04 20:33:49 +02:00
bswap r r
wswap r r
dswap r r
2019-06-23 12:40:18 +02:00