From f86829dd3a5a377d5984483b3857645936378cc1 Mon Sep 17 00:00:00 2001 From: Nicolas PENELOUX Date: Mon, 1 Jan 2024 22:27:54 +0100 Subject: [PATCH] div --- flap/src/x86-64/retrolixToX86_64.ml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/flap/src/x86-64/retrolixToX86_64.ml b/flap/src/x86-64/retrolixToX86_64.ml index 9052a36..d5f77d6 100644 --- a/flap/src/x86-64/retrolixToX86_64.ml +++ b/flap/src/x86-64/retrolixToX86_64.ml @@ -477,8 +477,12 @@ module InstructionSelector : InstructionSelector = struct ;; let div ~dst ~srcl ~srcr = - (* TODO *) - failwith "Students! This is your job! (div)" + (* Division *) + let rax = `Reg X86_64_Architecture.RAX in + mov ~src:srcl ~dst:rax + @ mov ~src:srcr ~dst:r15 + @ [ Instruction cqto; Instruction (idivq ~src:r15)] + @ mov ~dst ~src:rax ;; let andl ~dst ~srcl ~srcr =