From e3b220dd2d72dd3e667f9c6d5244e1dd342adced Mon Sep 17 00:00:00 2001 From: Sami Samhuri Date: Sun, 14 Feb 2010 18:56:23 -0800 Subject: [PATCH] implement AND for r/m32, r32 --- asm/binary.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/asm/binary.rb b/asm/binary.rb index 8c4c02a..b667c47 100644 --- a/asm/binary.rb +++ b/asm/binary.rb @@ -834,7 +834,12 @@ module Assembler def and_(dest, src) - if rm?(dest, 8) && immediate?(src, 8) + if rm?(dest) && register?(src) + asm do + emit_byte(0x21) + emit_modrm(dest, src.regnum) + end + elsif rm?(dest, 8) && immediate?(src, 8) asm do emit_byte(0x80) emit_modrm(dest, 4)