Copyright (C) 2000-2012 |
GNU Info (nasm.info)Section B.4.2B.4.2. `ADC': Add with Carry ---------------------------- ADC r/m8,reg8 ; 10 /r [8086] ADC r/m16,reg16 ; o16 11 /r [8086] ADC r/m32,reg32 ; o32 11 /r [386] ADC reg8,r/m8 ; 12 /r [8086] ADC reg16,r/m16 ; o16 13 /r [8086] ADC reg32,r/m32 ; o32 13 /r [386] ADC r/m8,imm8 ; 80 /2 ib [8086] ADC r/m16,imm16 ; o16 81 /2 iw [8086] ADC r/m32,imm32 ; o32 81 /2 id [386] ADC r/m16,imm8 ; o16 83 /2 ib [8086] ADC r/m32,imm8 ; o32 83 /2 ib [386] ADC AL,imm8 ; 14 ib [8086] ADC AX,imm16 ; o16 15 iw [8086] ADC EAX,imm32 ; o32 15 id [386] `ADC' performs integer addition: it adds its two operands together, plus the value of the carry flag, and leaves the result in its destination (first) operand. The destination operand can be a register or a memory location. The source operand can be a register, a memory location or an immediate value. The flags are set according to the result of the operation: in particular, the carry flag is affected and can be used by a subsequent `ADC' instruction. In the forms with an 8-bit immediate second operand and a longer first operand, the second operand is considered to be signed, and is sign- extended to the length of the first operand. In these cases, the `BYTE' qualifier is necessary to force NASM to generate this form of the instruction. To add two numbers without also adding the contents of the carry flag, use `ADD' (*Note Section B.4.3::). automatically generated by info2www version 1.2.2.9 |