From d744630f41b9b8bf06fe25fe8693fc248464dc5d Mon Sep 17 00:00:00 2001 From: Slava Date: Tue, 16 Oct 2007 00:53:13 -0400 Subject: [PATCH] Fix MOVSX opcode in x86 assembler --- core/cpu/x86/assembler/assembler.factor | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/core/cpu/x86/assembler/assembler.factor b/core/cpu/x86/assembler/assembler.factor index 5e40fe4f49..bb5e13613c 100644 --- a/core/cpu/x86/assembler/assembler.factor +++ b/core/cpu/x86/assembler/assembler.factor @@ -255,9 +255,8 @@ UNION: operand register indirect ; : extended-opcode, ( opcode -- ) extended-opcode opcode, ; : opcode-or ( opcode mask -- opcode' ) - over array? - [ 1 rot cut* first rot bitor add ] - [ bitor ] if ; + swap dup array? + [ 1 cut* first rot bitor add ] [ bitor ] if ; : 1-operand ( op reg rex.w opcode -- ) #! The 'reg' is not really a register, but a value for the