Add additional instructions.
This commit is contained in:
parent
3fa292347f
commit
ecbe84134d
|
@ -12,6 +12,33 @@ module Chalk
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Instruction to clear the screen
|
||||||
|
class ClearInstruction < Instruction
|
||||||
|
def to_s(io)
|
||||||
|
io << "clear"
|
||||||
|
end
|
||||||
|
|
||||||
|
def to_bin(table, stack, index)
|
||||||
|
return 0x00e0
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# Instruction to assign a random value to a register.
|
||||||
|
class RandomInstruction < Instruction
|
||||||
|
def initialize(@register : Int32, @value : Int32)
|
||||||
|
end
|
||||||
|
|
||||||
|
def to_s(io)
|
||||||
|
io << "rand R"
|
||||||
|
@register.to_s(16, io)
|
||||||
|
io << " " << @value
|
||||||
|
end
|
||||||
|
|
||||||
|
def to_bin(table, stack, index)
|
||||||
|
return 0xc000 | (@register << 8) | (@value)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
# Instruction to load a value into a register.
|
# Instruction to load a value into a register.
|
||||||
class LoadInstruction < Instruction
|
class LoadInstruction < Instruction
|
||||||
def initialize(@register : Int32, @value : Int32)
|
def initialize(@register : Int32, @value : Int32)
|
||||||
|
@ -367,5 +394,34 @@ module Chalk
|
||||||
return 0xf007 | (@into << 8)
|
return 0xf007 | (@into << 8)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Instruction to set the sound timer to a value.
|
||||||
|
class SetSoundTimerInstruction < Instruction
|
||||||
|
def initialize(@from : Int32)
|
||||||
|
end
|
||||||
|
|
||||||
|
def to_s(io)
|
||||||
|
io << "set_sound R"
|
||||||
|
@from.to_s(16, io)
|
||||||
|
end
|
||||||
|
|
||||||
|
def to_bin(table, stack, index)
|
||||||
|
return 0xf018 | (@from << 8)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class BCDInstruction < Instruction
|
||||||
|
def initialize(@from : Int32)
|
||||||
|
end
|
||||||
|
|
||||||
|
def to_s(io)
|
||||||
|
io << "bcd R"
|
||||||
|
@from.to_s(16, io)
|
||||||
|
end
|
||||||
|
|
||||||
|
def to_bin(table, stack, index)
|
||||||
|
return 0xf033 | (@from << 8)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue
Block a user