# The OS/K Team licenses this file to you under the MIT license. # See the LICENSE file in the project root for more information. #---------------------------------------------------------------------------# # Debugging instructions # #---------------------------------------------------------------------------# # # Breakpoint instruction (BREAK) # # (cause register dump on standard error) # (wait for user input before proceeeding) # break # # Toggles instruction dumping (DUMP) # # (toggles instruction dumping) # dump #---------------------------------------------------------------------------# # Misc. instructions # #---------------------------------------------------------------------------# # # Throws #UDF ("undefined behaviour") # udf # # Pause the CPU for a very short amount of time (PAUSE) # Used in spin-type loops # pause # # Throw #OVF when RFX.OF=1 (INTO) # into # # Get timestamp in µseconds # utime 2 # # $1 = seconds since start of month # $2 = current month # $3 = current year # ytime 3 # # Clear all GPR registers except RBP/RSP # cls #---------------------------------------------------------------------------# # Byte-wise / bit-wise manipulation instructions # #---------------------------------------------------------------------------# # # Byte/word/dword swap (xSWAP) # # Change endianness # bswap 2 wswap 2 dswap 2 #---------------------------------------------------------------------------# # I/O instructions # #---------------------------------------------------------------------------# # # Send a character to standard output (PRN) # prn 1 # # Print a string to standard output (PRN) # # COMPARE([%1], 0) # # IF (ZF == 0) THEN # PRN([%1]) # IF (DF == 0) THEN # %1 = %1 + 1 # ELSE # %1 = %1 - 1 # FI # FI # # prns 1 # # Scan a character from standard input (SCAN) # scan 1