Method: RubyVM::RJIT::Assembler#sub
- Defined in:
- lib/ruby_vm/rjit/assembler.rb
#sub(dst, src) ⇒ Object
802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 |
# File 'lib/ruby_vm/rjit/assembler.rb', line 802 def sub(dst, src) case [dst, src] # SUB r/m64, imm8 (Mod 11: reg) in [R64 => dst_reg, IMM8 => src_imm] # REX.W + 83 /5 ib # MI: Operand 1: ModRM:r/m (r, w), Operand 2: imm8/16/32 insn( prefix: REX_W, opcode: 0x83, mod_rm: ModRM[mod: Mod11, reg: 5, rm: dst_reg], imm: imm8(src_imm), ) # SUB r/m64, r64 (Mod 11: reg) in [R64 => dst_reg, R64 => src_reg] # REX.W + 29 /r # MR: Operand 1: ModRM:r/m (r, w), Operand 2: ModRM:reg (r) insn( prefix: REX_W, opcode: 0x29, mod_rm: ModRM[mod: Mod11, reg: src_reg, rm: dst_reg], ) end end |