summaryrefslogtreecommitdiffhomepage
path: root/dev/CompilerKit/impl/X64.h
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-11-24 03:05:29 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-11-24 03:05:29 +0100
commitbbe2c77243c541ca7e0075149f5be3262eb89523 (patch)
treeae5d59d299344fd19584a2c3642bacd788e841d4 /dev/CompilerKit/impl/X64.h
parentb5adf16a96b9cbb80c74cf30404ed5bcff03ac34 (diff)
feat! breaking changes on necti sources.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/CompilerKit/impl/X64.h')
-rw-r--r--dev/CompilerKit/impl/X64.h49
1 files changed, 0 insertions, 49 deletions
diff --git a/dev/CompilerKit/impl/X64.h b/dev/CompilerKit/impl/X64.h
deleted file mode 100644
index ccbcf13..0000000
--- a/dev/CompilerKit/impl/X64.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* ========================================
-
- Copyright (C) 2024-2025 Amlal El Mahrouss, Licensed under the Apache 2.0 license
-
-======================================== */
-
-#pragma once
-
-#include <CompilerKit/Defines.h>
-
-// @brief AMD64 support.
-// @file impl/X64.h
-
-#define CK_ASM_OPCODE(__NAME, __OPCODE) {.fName = __NAME, .fOpcode = __OPCODE},
-
-typedef char i64_character_t;
-typedef uint8_t i64_byte_t;
-typedef uint16_t i64_hword_t;
-typedef uint32_t i64_word_t;
-
-#define kAsmRegisterPrefix "r"
-
-struct CpuOpcodeAMD64 {
- std::string fName;
- i64_byte_t fPrefixBytes[4];
- i64_hword_t fOpcode;
- i64_hword_t fModReg;
- i64_word_t fDisplacment;
- i64_word_t fImmediate;
-};
-
-/// these two are edge cases
-#define kAsmIntOpcode 0xCC
-#define kasmIntOpcodeAlt 0xCD
-
-#define kAsmJumpOpcode 0x0F80
-#define kJumpLimit 30
-#define kJumpLimitStandard 0xE3
-#define kJumpLimitStandardLimit 0xEB
-
-inline std::vector<CpuOpcodeAMD64> kOpcodesAMD64 = {
- CK_ASM_OPCODE("int", 0xCD) CK_ASM_OPCODE("into", 0xCE) CK_ASM_OPCODE("intd", 0xF1)
- CK_ASM_OPCODE("int3", 0xC3) CK_ASM_OPCODE("iret", 0xCF) CK_ASM_OPCODE("retf", 0xCB)
- CK_ASM_OPCODE("retn", 0xC3) CK_ASM_OPCODE("ret", 0xC3) CK_ASM_OPCODE("sti", 0xfb)
- CK_ASM_OPCODE("cli", 0xfa) CK_ASM_OPCODE("hlt", 0xf4) CK_ASM_OPCODE("nop", 0x90)
- CK_ASM_OPCODE("mov", 0x48) CK_ASM_OPCODE("call", 0xFF)
- CK_ASM_OPCODE("syscall", 0x0F) CK_ASM_OPCODE("xor", 0x48)};
-
-#define kAsmRegisterLimit 16