From 2a97666a74018379396d12dfae09cf10a6231a20 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Sat, 13 Jan 2024 16:08:44 +0100 Subject: 64asm/64ld: Use origin offset when not specify 'import' and if symbol is known. Signed-off-by: Amlal El Mahrouss Signed-off-by: Amlal El Mahrouss --- CompilerKit/AsmKit/Arch/64k.hpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'CompilerKit') diff --git a/CompilerKit/AsmKit/Arch/64k.hpp b/CompilerKit/AsmKit/Arch/64k.hpp index b54161d..b070332 100644 --- a/CompilerKit/AsmKit/Arch/64k.hpp +++ b/CompilerKit/AsmKit/Arch/64k.hpp @@ -56,7 +56,8 @@ inline std::vector kOpcodes64x0 = { kAsmOpcodeDecl("addc", 0b0101011, 0b110, kAsmImmediate) kAsmOpcodeDecl("decc", 0b0101011, 0b111, kAsmImmediate) kAsmOpcodeDecl("int", 0b1110011, 0b00, kAsmSyscall) - kAsmOpcodeDecl("syscall", 0b1110011, 0b00, kAsmSyscall) + kAsmOpcodeDecl("sysenter", 0b1110011, 0b01, kAsmSyscall) + kAsmOpcodeDecl("sysexit", 0b1110011, 0b10, kAsmSyscall) kAsmOpcodeDecl("pha", 0b1110011, 0b00, kAsmNoArgs) kAsmOpcodeDecl("pla", 0b1110011, 0b01, kAsmNoArgs) }; @@ -69,6 +70,9 @@ inline std::vector kOpcodes64x0 = { #define kAsmFloatRegisterPrefix "f" #define kAsmFloatRegisterLimit 10 +#define kAsmFloatZeroRegister 0 +#define kAsmZeroRegister 0 + #define kAsmRegisterPrefix "r" #define kAsmRegisterLimit 20 #define kAsmPcRegister 17 @@ -80,7 +84,7 @@ inline std::vector kOpcodes64x0 = { ///////////////////////////////////////////////////////////////////////////// -// SYSTEM CALL ADDRESSING +// SYSTEM CALL/JUMP ADDRESSING // | OPCODE | FUNCT3 | FUNCT7 | OFF | -- cgit v1.2.3