Volume 3: General-Purpose and System Instructions - Stanford ...
Volume 3: General-Purpose and System Instructions - Stanford ... Volume 3: General-Purpose and System Instructions - Stanford ...
AMD64 Technology 24594 Rev. 3.10 February 2005Mnemonic Opcode DescriptionJGE rel8offJGE rel16offJGE rel32offJLE rel8offJLE rel16offJLE rel32offJNG rel8offJNG rel16offJNG rel32offJNLE rel8offJNLE rel16offJNLE rel32offJG rel8offJG rel16offJG rel32offRelated Instructions7D cb0F 8D cw0F 8D cd7E cb0F 8E cw0F 8E cd7E cb0F 8E cw0F 8E cd7F cb0F 8F cw0F 8F cd7F cb0F 8F cw0F 8F cdJump if greater or equal (SF = OF).Jump if less or equal (ZF = 1 or SF OF).Jump if not greater (ZF = 1 or SF OF).Jump if not less or equal (ZF = 0 and SF = OF).Jump if greater (ZF = 0 and SF = OF).JMP (Near), JMP (Far), JrCXZrFLAGS AffectedNoneExceptionsExceptionGeneral protection,#GPRealVirtual8086 Protected Cause of ExceptionX X X The target offset exceeded the code segment limit or was non-canonical.168 Jcc
24594 Rev. 3.10 February 2005 AMD64 TechnologyJCXZJECXZJRCXZJump if rCX ZeroChecks the contents of the count register (rCX) and, if 0, jumps to the targetinstruction located at the specified 8-bit relative offset. Otherwise, executioncontinues with the instruction following the JrCXZ instruction.The size of the count register (CX, ECX, or RCX) depends on the address-sizeattribute of the JrCXZ instruction. Therefore, JRCXZ can only be executed in 64-bitmode and JCXZ cannot be executed in 64-bit mode.If the jump is taken, the signed displacement is added to the rIP (of the followinginstruction) and the result is truncated to 16, 32, or 64 bits, depending on operandsize.In 64-bit mode, the operand size defaults to 64 bits. The processor sign-extends the 8-bit displacement value to 64 bits before adding it to the RIP.For details about control-flow instructions, see “Control Transfers” in Volume 1, and“Control-Transfer Privilege Checks” in Volume 2.Mnemonic Opcode DescriptionJCXZ rel8off E3 cb Jump short if the 16-bit count register (CX) is zero.JECXZ rel8off E3 cb Jump short if the 32-bit count register (ECX) is zero.JRCXZ rel8off E3 cb Jump short if the 64-bit count register (RCX) is zero.Related InstructionsJcc, JMP (Near), JMP (Far)rFLAGS AffectedNoneJrCXZ 169
- Page 148 and 149: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 150 and 151: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 152 and 153: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 154 and 155: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 156 and 157: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 158 and 159: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 160 and 161: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 162 and 163: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 164 and 165: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 166 and 167: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 168 and 169: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 170 and 171: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 172 and 173: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 174 and 175: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 176 and 177: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 178 and 179: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 180 and 181: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 182 and 183: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 184 and 185: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 186 and 187: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 188 and 189: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 190 and 191: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 192 and 193: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 194 and 195: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 196 and 197: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 200 and 201: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 202 and 203: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 204 and 205: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 206 and 207: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 208 and 209: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 210 and 211: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 212 and 213: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 214 and 215: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 216 and 217: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 218 and 219: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 220 and 221: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 222 and 223: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 224 and 225: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 226 and 227: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 228 and 229: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 230 and 231: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 232 and 233: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 234 and 235: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 236 and 237: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 238 and 239: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 240 and 241: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 242 and 243: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 244 and 245: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 246 and 247: AMD64 Technology 24594 Rev. 3.10 Fe
24594 Rev. 3.10 February 2005 AMD64 TechnologyJCXZJECXZJRCXZJump if rCX ZeroChecks the contents of the count register (rCX) <strong>and</strong>, if 0, jumps to the targetinstruction located at the specified 8-bit relative offset. Otherwise, executioncontinues with the instruction following the JrCXZ instruction.The size of the count register (CX, ECX, or RCX) depends on the address-sizeattribute of the JrCXZ instruction. Therefore, JRCXZ can only be executed in 64-bitmode <strong>and</strong> JCXZ cannot be executed in 64-bit mode.If the jump is taken, the signed displacement is added to the rIP (of the followinginstruction) <strong>and</strong> the result is truncated to 16, 32, or 64 bits, depending on oper<strong>and</strong>size.In 64-bit mode, the oper<strong>and</strong> size defaults to 64 bits. The processor sign-extends the 8-bit displacement value to 64 bits before adding it to the RIP.For details about control-flow instructions, see “Control Transfers” in <strong>Volume</strong> 1, <strong>and</strong>“Control-Transfer Privilege Checks” in <strong>Volume</strong> 2.Mnemonic Opcode DescriptionJCXZ rel8off E3 cb Jump short if the 16-bit count register (CX) is zero.JECXZ rel8off E3 cb Jump short if the 32-bit count register (ECX) is zero.JRCXZ rel8off E3 cb Jump short if the 64-bit count register (RCX) is zero.Related <strong>Instructions</strong>Jcc, JMP (Near), JMP (Far)rFLAGS AffectedNoneJrCXZ 169