38 lines
1.0 KiB
Python
38 lines
1.0 KiB
Python
from . import CustomInstruction
|
|
|
|
class InterruptsDisableFiring(CustomInstruction):
|
|
"""
|
|
InterruptsDisableFiring() disable interrupts firing
|
|
"""
|
|
|
|
def run(self, update_program_counter=True):
|
|
self._vmstate.interrupts_manager.disable_firing()
|
|
super().run(update_program_counter)
|
|
|
|
class InterruptsEnableFiring(CustomInstruction):
|
|
"""
|
|
InterruptsEnableFiring() enable interrupts firing
|
|
"""
|
|
|
|
def run(self, update_program_counter=True):
|
|
self._vmstate.interrupts_manager.enable_firing()
|
|
super().run(update_program_counter)
|
|
|
|
class InterruptsDisable(CustomInstruction):
|
|
"""
|
|
InterruptsDisable() disable interrupts
|
|
"""
|
|
|
|
def run(self, update_program_counter=True):
|
|
self._vmstate.interrupts_manager.disable()
|
|
super().run(update_program_counter)
|
|
|
|
class InterruptsEnable(CustomInstruction):
|
|
"""
|
|
InterruptsEnable() enable interrupts
|
|
"""
|
|
|
|
def run(self, update_program_counter=True):
|
|
self._vmstate.interrupts_manager.enable()
|
|
super().run(update_program_counter)
|