JNZ is short for “Jump if not zero (ZF = 0)”, and NOT “Jump if the ZF is set”.
If it’s any easier to remember, consider that JNZ and JNE (jump if not equal) are equivalent. Therefore, when you’re doing cmp al, 47
and the content of AL
is equal to 47, the ZF is set, ergo the jump (if Not Equal – JNE) should not be taken.
Related Posts:
- Difference between JA and JG in assembly
- x86 Assembly pointers
- Assembly – JG/JNLE/JL/JNGE after CMP
- Assembly Language – How to do Modulo?
- [Binary Bomb – Phase 4
- `js` and `jb` instructions in assembly
- What’s the purpose of the LEA instruction?
- Understanding cmp instruction
- What does the MOVZBL instruction do in IA-32 AT&T syntax?
- What’s the purpose of the LEA instruction?
- need help understanding the movzbl call in this function
- How to move ST(0) to EAX?
- The point of test %eax %eax
- Assembly: How does fld st(0) duplicates the top stack value in the following code?
- What does the MOVZBL instruction do in IA-32 AT&T syntax?
- What’s the purpose of the LEA instruction?
- The difference between cmpl and cmp
- x86 cmpl and jne
- What is the function of the push / pop instructions used on registers in x86 assembly?
- What is callq instruction?
- Display value found at given address gdb
- Purpose of ESI & EDI registers?
- What are the ESP and the EBP registers?
- IDIV operation in assembly (understanding)
- Understanding %rip register in intel assembly
- movq assembly function
- explanation about push ebp and pop ebp instruction in assembly
- x86 assembly: How does the ‘subl’ command work in AT&T syntax
- what does the cmpq instruction do?
- Purpose of ESI & EDI registers?
- xorl %eax – Instruction set architecture in IA-32
- Bubble sort on array on Assembly Language
- Nasm Error: invalid combination of opcode and operands
- When and why do we sign extend and use cdq with mul/div?
- Which variable size to use (db, dw, dd) with x86 assembly?
- How do AX, AH, AL map onto EAX?
- X86 assembly – Handling the IDIV instruction
- pop or add esp, 4 ? What is the difference?
- What is the difference between MOV and LEA?
- What is the difference between Trap and Interrupt?
- `testl` eax against eax?
- Difference between JE/JNE and JZ/JNZ
- Printing out a number in assembly language?
- What does `dword ptr` mean?
- Difference between JA and JG in assembly
- what does the the dword operand do in assembly
- error A2022: instruction operands must be the same size
- MIPS to C Translation
- What does the LEAL assembly instruction do?
- How does the ARM architecture differ from x86? [closed]
- Is it possible to “decompile” a Windows .exe? Or at least view the Assembly?
- assembly “mov” instruction
- Why is Windows 32-bit called Windows x86 and not Windows x32?
- Is there a C++ decompiler?
- Why shift a bit using sll and such in MIPs Assembly?
- Understanding how `lw` and `sw` actually work in a MIPS program
- ARM Assembler – How do I use CMP, BLT and BGT?
- MIPS: lw (load word) instruction
- What is the meaning of XOR in x86 assembly?
- C to assembly – leaq instruction
- What does the BEQ instruction do exactly?
- What’s the size of a QWORD on a 64-bit machine?
- MIPS assembly for a simple for loop
- what does .space do in mips?
- Convert C program into assembly code
- LC3 LEA instruction and the value stored
- What exactly does the lb instruction do?
- lc3 LDR instruction and the value stored
- What is the difference between la and li in opcodes in MIPS?
- Assembly language je jump function
- Bubble sort algorithm in MIPS
- What are .S files?
- How do I correctly use the mod operator in MIPS?
- Why are rbp and rsp called general purpose registers?
- what is the use of ori in this part of MIPS code?
- Storing a user’s input in MIPS
- Integer absolute value in MIPS?
- MIPS Assembly – lui $t0, 4097?
- Difference between “move” and “li” in MIPS assembly language
- Greater than, less than equal, greater than equal in MIPS
- Assembly addq clarification
- MIPS program jr $ra instructions and stack handling
- How can one see content of stack with GDB?
- Subtract two input numbers
- writing functions in assembler
- Assembly language (MIPS) difference betweent addi and add
- How do I compile the asm generated by GCC?
- Difference between “addi” and “add” for pseudoinstruction “move” in MIPS?
- How does `Skipcond` work in the MARIE assembly language?
- Do all 64 bit intel architectures support SSSE3/SSE4.1/SSE4.2 instructions?
- What are callee and caller saved registers?
- Multiplication by a power of 2 using Logical shifts in MIPS assembly
- MIPS instruction and machine code
- Suggestions needed: Effective Java to C source code converter
- Generate UML Class Diagram from Java Project
- Difference between movq and movabsq in x86-64
- GDB no such file or directory
- What is between ESP and EBP?
- Assembly – JZ instruction after CMP
- What does bx lr do in ARM assembly language?