What does JL mean in at&t syntax?


I'm working on a project for school and I cannot find anything on the what JL means in at&t syntax. For reference, the question is to find the value of %eax when NOP runs. Here is the code it's used in:

MOV $492,%ebx MOV $2494,%eax MOV $28063,%ecx CMP %eax,%ebx JL L1 JMP L2 L1: IMUL %eax,%ebx ADD %eax,%ebx MOV %ebx,%eax SUB %ecx,%eax JMP L3 L2: IMUL %eax,%ebx SUB %eax,%ebx MOV %ebx,%eax ADD %ecx,%eax L3: NOP

Also I would appreciate what JMP does as well as how the addition/subtraction/multiplication works (ADD/SUB/IMUL). I don't want to cheat, I just want to understand what's happening. For example, do you change the first number or the second when using math? Thank you all so much for helping.


That is assemply language , JL is Jump if Less

This also works in x86 assembly language.

CMP %eax,%ebx JL L1

We compare EAX to EBX, then we'll jump to L1 depending on that comparison.

More specific - If the contents of EAX are less than the contents of EBX, jump to the label L1

See - <a href="https://stackoverflow.com/questions/9617877/assembly-jg-jnle-jl-jnge-after-cmp" rel="nofollow">Assembly - JG/JNLE/JL/JNGE after CMP</a>


jl (jump on less than, signed) <a href="http://en.wikipedia.org/wiki/X86_assembly_language" rel="nofollow">wiki</a>


Unfortunately, I can't comment due to low reputation. However, the above answers are not fully correct.

The information that the code is given in AT&T syntax is crucial to give the correct answer, since the operands are switched in AT&T syntax. In fact, what the code

CMP %eax,%ebx JL L1

interpreted in AT&T syntax does is: "If the contents of EBX are less than the contents of EAX, jump to the label L1" - and not the other way round as mentioned before.


  • Sum 1 + 11 + 111… n terms in x86 Assembly
  • python simpleJSONDecoder and complex JSON issue
  • Assembly x86: comparing strings doesn't work
  • python linear equation with Cramer's rule
  • Trying to do case insensitive search in assembly and my code doesn't work
  • Function Pointer Memory Explanation in C
  • X86 Assembly Converting lower-case to uppercase
  • Indexing args as an array in the Windows x86-64 ABI [closed]
  • Sort an array via x86 Assembly (embedded in C++)?? Possible?
  • Unable to allocate memory with mmap in x86 Linux Assembly Language
  • adding 16 bits registers
  • Arithmetic operations in assembly [duplicate]
  • Code accessing continuous L1 cache memory slower than code accessing 3x non-continuous L1 memory
  • Why is my register-constant comparison not working in NASM Assembly?
  • Difference in data alignment in struct vs parameter?
  • There is an assembly code written for Windows API, how to compile it on Linux and run with Wine
  • Assembler - loop with ECX
  • Pulling price from amazon rss feed embedded in description
  • Ruby Array#puts not using overridden implementation?
  • How can I move two dword into one qword?
  • Count how many 1 there are in the odd positions of an array of 32-bit numbers
  • How to use clflush?
  • GNU Assembler (Mac OS X 64-bit): Illegal instruction: 4
  • x86 Assembly: Division Floating Point Exception dividing by 11
  • What does JL mean in at&t syntax?
  • What does 0x4 from cmp 0x4(%esi),%ebx assembly instruction mean?
  • MASM x86 fastcall function declaration… how?
  • Implementing a toupper function in x86 assembly
  • jquery datatable row.add with button and input box
  • Getting address of data variable in x86 AT&T Assembly
  • Loop to check lowercase letter in assembly
  • Print Register in Assembly x86
  • Different behaviour of eax compared to other registers
  • Which Magento Domain Objects Use Layout XML Updates?
  • Help me understand this C code (*(void(*) ()) scode) ()
  • Can Compiler Optimize Loop with Variable Length?
  • Why AddRef returns zero
  • Html Anchor text formatting
  • Specify HTTPS for custom WCF Binding