1
0
mirror of https://gitlab.os-k.eu/os-k-team/kvisc.git synced 2023-08-25 14:05:46 +02:00
kvisc/vm/in/JUMPS

44 lines
993 B
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.
#---------------------------------------------------------------------------#
# Jump instructions #
#---------------------------------------------------------------------------#
#
2019-07-01 21:46:36 +02:00
# Jump (JMP) instruction
2019-06-23 12:40:18 +02:00
#
# RIP = $1
#
j ri
jmp ri
#
2019-07-01 21:46:36 +02:00
# RCX-dependent jump (LOOP) instruction
2019-06-23 12:40:18 +02:00
#
# IF (RCX > 0) THEN
# RCX = RCX - 1
# RIP = $1
# FI
#
loop ri
2019-06-30 13:46:44 +02:00
#
2019-07-02 20:13:05 +02:00
# Conditional absolute jumps (B)
2019-06-30 13:46:44 +02:00
#
2019-07-02 20:13:05 +02:00
# COMPARE($1, $2)
2019-06-30 13:46:44 +02:00
#
2019-07-02 20:13:05 +02:00
# IF (COND) THEN
# RIP = $3
# FI
2019-06-30 13:46:44 +02:00
#
2019-07-02 20:13:05 +02:00
# Sets CF, OF, ZF and SF according to the comparison's results
2019-06-30 13:46:44 +02:00
#
2019-07-02 20:13:05 +02:00
# This instruction is special in that the COND field specified is not evaluated
# before the instruction is executed, but after the comparison it effectuates
#
# Suffixing B with the REP suffix results in undefined behavior
2019-06-30 13:46:44 +02:00
#
2019-07-02 20:13:05 +02:00
b rim rim ri
2019-06-30 13:46:44 +02:00