65 lines
1.5 KiB
Python
65 lines
1.5 KiB
Python
#!/usr/bin/env python3
|
||
# -*- coding: utf-8 -*-
|
||
|
||
"""
|
||
Кодировщик инструкций для КВС
|
||
Промежуточный модуль для обратной совместимости.
|
||
Импортирует всё из fixsize и mutsize, реэкспортирует наружу.
|
||
Нового кода не содержит.
|
||
"""
|
||
|
||
import struct
|
||
import sys
|
||
from kvs_data import INSTRUCTIONS, REGISTERS, get_reg_info
|
||
|
||
# Импорт из fixsize
|
||
from kvs_pass2_encoder_fixsize import (
|
||
encode_mov_reg_reg,
|
||
encode_mov_reg8_imm8,
|
||
encode_cmp_reg_reg,
|
||
encode_add_sub_reg_reg,
|
||
encode_muldiv,
|
||
encode_and_or_xor_reg_reg,
|
||
encode_not_neg,
|
||
encode_incdec,
|
||
encode_push_reg,
|
||
encode_pop_reg,
|
||
encode_push_imm,
|
||
encode_shift_rotate,
|
||
encode_syscall,
|
||
encode_int,
|
||
encode_hlt,
|
||
encode_int3,
|
||
encode_nop,
|
||
encode_flag_instruction,
|
||
encode_in,
|
||
encode_out,
|
||
encode_string_instruction,
|
||
encode_cpuid,
|
||
encode_rdtsc,
|
||
encode_xchg,
|
||
)
|
||
|
||
# Импорт из mutsize
|
||
from kvs_pass2_encoder_mutsize import (
|
||
parse_operand,
|
||
parse_memory_operand,
|
||
encode_mov_reg_mem_absolute,
|
||
encode_mov_mem_reg_absolute,
|
||
encode_mov_reg_mem,
|
||
encode_mov_mem_reg,
|
||
encode_lea_mem,
|
||
encode_mov_reg_imm,
|
||
encode_movzx,
|
||
encode_movsx,
|
||
encode_cmp_reg_imm,
|
||
encode_add_sub_reg_imm,
|
||
encode_jmp_rel32,
|
||
encode_jmp_short,
|
||
encode_jcc_rel32,
|
||
encode_jcc_short,
|
||
encode_call,
|
||
encode_ret,
|
||
encode_loop,
|
||
encode_instruction,
|
||
) |