From 715efab3b9ca9334f25601c5a46cfa3975157271 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Wed, 13 Jun 2007 18:06:34 +0000 Subject: Partially implement "POP" --HG-- extra : convert_revision : ba454579a6a82ce4924102a633e5758fb2a30b2d --- src/arch/x86/isa/decoder/one_byte_opcodes.isa | 2 +- src/arch/x86/isa/insts/data_transfer/stack_operations.py | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/arch/x86/isa/decoder/one_byte_opcodes.isa b/src/arch/x86/isa/decoder/one_byte_opcodes.isa index c29133a5c..72fbf2896 100644 --- a/src/arch/x86/isa/decoder/one_byte_opcodes.isa +++ b/src/arch/x86/isa/decoder/one_byte_opcodes.isa @@ -179,7 +179,7 @@ 0x3: pop_rBX(); 0x4: pop_rSP(); 0x5: pop_rBP(); - 0x6: pop_rSI(); + 0x6: Inst::POP(rSI); 0x7: pop_rDI(); } 0x0C: decode OPCODE_OP_BOTTOM3 { diff --git a/src/arch/x86/isa/insts/data_transfer/stack_operations.py b/src/arch/x86/isa/insts/data_transfer/stack_operations.py index bcde13982..3223d9b0f 100644 --- a/src/arch/x86/isa/insts/data_transfer/stack_operations.py +++ b/src/arch/x86/isa/insts/data_transfer/stack_operations.py @@ -53,7 +53,12 @@ # # Authors: Gabe Black -microcode = "" +microcode = ''' +def macroop POP { + # There needs to be a load here to actually "pop" the data + addi "INTREG_RSP", "INTREG_RSP", "env.dataSize" +}; +''' #let {{ # class POP(Inst): # "GenFault ${new UnimpInstFault}" -- cgit v1.2.3