diff options
Diffstat (limited to 'resources/asm/monitor_macros.py')
| -rw-r--r-- | resources/asm/monitor_macros.py | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/resources/asm/monitor_macros.py b/resources/asm/monitor_macros.py deleted file mode 100644 index b40be9e..0000000 --- a/resources/asm/monitor_macros.py +++ /dev/null @@ -1,45 +0,0 @@ -from atk16_asm.asm_ops import * - -expansions: dict[str, Callable[..., ExpandResult]] = {} -def register_macro(func): - expansions[func.__name__] = func - return func - -@register_macro -def m_newline(r1: str, r2: str) -> ExpandResult: - return [ - *expand_ldi("text_cursor_p", r1), - *expand_ldr(r1, r1), - *expand_ldr(r1, r2), - *expand_slri(r2, "6", r2), # cursor = cursor / 64 - *expand_addi(r2, "1", r2), # cursor = cursor + 1 - *expand_slli(r2, "6", r2), # cursor = cursor * 64 - *expand_str(r2, r1), - ] - -@register_macro -def m_put_char(char_r: str, r1: str, r2: str) -> ExpandResult: - return [ - *expand_ldi("text_cursor_p", r1), - *expand_ldr(r1, r1), - *expand_ldr(r1, r2), - *expand_str(char_r, r2), - *expand_addi(r2, "1", r2), - *expand_str(r2, r1), - ] - -def m_set_interrupt_state(r1: str, r2: str, value: int) -> ExpandResult: - return [ - *expand_ldi("vt_iset_addr", r1), - *expand_ldr(r1, r1), - *expand_ldi(value, r2), - *expand_str(r2, r1), - ] - -@register_macro -def m_set_critical(r1: str, r2: str) -> ExpandResult: - return m_set_interrupt_state(r1, r2, 1) - -@register_macro -def m_clear_critical(r1: str, r2: str) -> ExpandResult: - return m_set_interrupt_state(r1, r2, 0) |
