Update README.md
This commit is contained in:
parent
b98fe306a0
commit
b6d438da8d
174
README.md
174
README.md
@ -41,7 +41,179 @@
|
||||
| x87 CW | x87 control word | Yes |
|
||||
|
||||
|
||||
### additional resources
|
||||
## Instructions
|
||||
|
||||
### Conditional JUMP Instructions
|
||||
|
||||
<table class="standard">
|
||||
<thead>
|
||||
<tr>
|
||||
<th> Instruction </th>
|
||||
<th> Description </th>
|
||||
<th> signed-ness </th>
|
||||
<th> Flags </th>
|
||||
<th> short <br> jump <br> opcodes </th>
|
||||
<th> near <br> jump <br> opcodes </th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tr>
|
||||
<td class="insn"> JO </td>
|
||||
<td class="descr"> Jump if overflow </td>
|
||||
<td class="signed"> </td>
|
||||
<td class="flags"> OF = 1 </td>
|
||||
<td class="hex"> 70 </td>
|
||||
<td class="hex"> 0F 80 </td> </tr>
|
||||
<tr>
|
||||
<td class="insn"> JNO </td>
|
||||
<td class="descr"> Jump if not overflow </td>
|
||||
<td class="signed"> </td>
|
||||
<td class="flags"> OF = 0 </td>
|
||||
<td class="hex"> 71 </td>
|
||||
<td class="hex"> 0F 81 </td> </tr>
|
||||
<tr>
|
||||
<td class="insn"> JS </td>
|
||||
<td class="descr"> Jump if sign </td>
|
||||
<td class="signed"> </td>
|
||||
<td class="flags"> SF = 1 </td>
|
||||
<td class="hex"> 78 </td>
|
||||
<td class="hex"> 0F 88 </td> </tr>
|
||||
<tr>
|
||||
<td class="insn"> JNS </td>
|
||||
<td class="descr"> Jump if not sign </td>
|
||||
<td class="signed"> </td>
|
||||
<td class="flags"> SF = 0 </td>
|
||||
<td class="hex"> 79 </td>
|
||||
<td class="hex"> 0F 89 </td> </tr>
|
||||
<tr>
|
||||
<td class="insn"> JE <br> JZ </td>
|
||||
<td class="descr"> Jump if equal
|
||||
<br> Jump if zero </td>
|
||||
<td class="signed"> </td>
|
||||
<td class="flags"> ZF = 1 </td>
|
||||
<td class="hex"> 74 </td>
|
||||
<td class="hex"> 0F 84 </td> </tr>
|
||||
<tr>
|
||||
<td class="insn"> JNE
|
||||
<br> JNZ </td>
|
||||
<td class="descr"> Jump if not equal
|
||||
<br> Jump if not zero </td>
|
||||
<td class="signed"> </td>
|
||||
<td class="flags"> ZF = 0 </td>
|
||||
<td class="hex"> 75 </td>
|
||||
<td class="hex"> 0F 85 </td> </tr>
|
||||
<tr>
|
||||
<td class="insn"> JB
|
||||
<br> JNAE
|
||||
<br> JC </td>
|
||||
<td class="descr"> Jump if below
|
||||
<br> Jump if not above or equal
|
||||
<br> Jump if carry </td>
|
||||
<td class="signed"> unsigned </td>
|
||||
<td class="flags"> CF = 1 </td>
|
||||
<td class="hex"> 72 </td>
|
||||
<td class="hex"> 0F 82 </td> </tr>
|
||||
|
||||
<tr>
|
||||
<td class="insn"> JNB
|
||||
<br> JAE
|
||||
<br> JNC </td>
|
||||
<td class="descr"> Jump if not below
|
||||
<br> Jump if above or equal
|
||||
<br> Jump if not carry </td>
|
||||
<td class="signed">unsigned </td>
|
||||
<td class="flags">CF = 0 </td>
|
||||
<td class="hex">73 </td>
|
||||
<td class="hex">0F 83 </td> </tr>
|
||||
|
||||
<tr>
|
||||
<td class="insn"> JBE
|
||||
<br> JNA </td>
|
||||
<td class="descr"> Jump if below or equal
|
||||
<br> Jump if not above </td>
|
||||
<td class="signed"> unsigned </td>
|
||||
<td class="flags"> CF = 1 or ZF = 1 </td>
|
||||
<td class="hex"> 76 </td>
|
||||
<td class="hex"> 0F 86 </td> </tr>
|
||||
<tr>
|
||||
<td class="insn"> JA
|
||||
<br> JNBE </td>
|
||||
<td class="descr"> Jump if above
|
||||
<br> Jump if not below or equal </td>
|
||||
<td class="signed"> unsigned </td>
|
||||
<td class="flags"> CF = 0 and ZF = 0 </td>
|
||||
<td class="hex"> 77 </td>
|
||||
<td class="hex"> 0F 87 </td> </tr>
|
||||
<tr>
|
||||
<td class="insn"> JL
|
||||
<br> JNGE </td>
|
||||
|
||||
<td class="descr"> Jump if less
|
||||
<br> Jump if not greater or equal </td>
|
||||
<td class="signed"> signed </td>
|
||||
<td class="flags"> SF <> OF </td>
|
||||
<td class="hex"> 7C </td>
|
||||
<td class="hex"> 0F 8C </td> </tr>
|
||||
<tr>
|
||||
<td class="insn"> JGE
|
||||
<br> JNL </td>
|
||||
<td class="descr"> Jump if greater or equal
|
||||
<br> Jump if not less </td>
|
||||
<td class="signed"> signed </td>
|
||||
<td class="flags"> SF = OF </td>
|
||||
<td class="hex"> 7D </td>
|
||||
<td class="hex"> 0F 8D </td> </tr>
|
||||
<tr>
|
||||
<td class="insn"> JLE
|
||||
<br> JNG </td>
|
||||
<td class="descr"> Jump if less or equal
|
||||
<br> Jump if not greater </td>
|
||||
<td class="signed"> signed </td>
|
||||
<td class="flags"> ZF = 1 or SF <> OF </td>
|
||||
<td class="hex"> 7E </td>
|
||||
<td class="hex"> 0F 8E </td> </tr>
|
||||
<tr>
|
||||
<td class="insn"> JG
|
||||
<br> JNLE </td>
|
||||
<td class="descr"> Jump if greater
|
||||
<br> Jump if not less or equal </td>
|
||||
<td class="signed"> signed </td>
|
||||
<td class="flags"> ZF = 0 and SF = OF </td>
|
||||
<td class="hex"> 7F </td>
|
||||
<td class="hex"> 0F 8F </td> </tr>
|
||||
<tr>
|
||||
<td class="insn"> JP
|
||||
<br> JPE </td>
|
||||
<td class="descr"> Jump if parity
|
||||
<br> Jump if parity even </td>
|
||||
<td class="signed"> </td>
|
||||
<td class="flags"> PF = 1 </td>
|
||||
<td class="hex"> 7A </td>
|
||||
<td class="hex"> 0F 8A </td> </tr>
|
||||
<tr>
|
||||
<td class="insn"> JNP
|
||||
<br> JPO </td>
|
||||
<td class="descr"> Jump if not parity
|
||||
<br> Jump if parity odd </td>
|
||||
<td class="signed"> </td>
|
||||
<td class="flags"> PF = 0 </td>
|
||||
<td class="hex"> 7B </td>
|
||||
<td class="hex"> 0F 8B </td> </tr>
|
||||
|
||||
<tr>
|
||||
<td class="insn"> JCXZ
|
||||
<br> JECXZ </td>
|
||||
<td class="descr"> Jump if %CX register is 0
|
||||
<br> Jump if %ECX register is 0 </td>
|
||||
<td class="signed"> </td>
|
||||
<td class="flags"> %CX = 0
|
||||
<br> %ECX = 0 </td>
|
||||
<td class="hex"> E3 </td>
|
||||
<td class="hex"> </td> </tr>
|
||||
</table>
|
||||
Source: [Intel x86 JUMP quick reference](http://unixwiz.net/techtips/x86-jumps.html)
|
||||
|
||||
## additional resources
|
||||
[Linux syscalls](https://blog.rchapman.org/posts/Linux_System_Call_Table_for_x86_64/)
|
||||
[System V AMD64 ABI](https://refspecs.linuxbase.org/elf/x86_64-abi-0.99.pdf)
|
||||
[Getting arguments](https://github.com/tonyOreglia/argument-counter/wiki/x86-64-Linux-Assembly-Part-1:-Printing-Command-Line-Arguments)
|
||||
|
Loading…
x
Reference in New Issue
Block a user