mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-23 02:05:57 +01:00
x86 asm: improve jcc
This commit is contained in:
@@ -11780,6 +11780,9 @@ The first examples you should look into are:
|
|||||||
** <<x86-addressing-modes>>
|
** <<x86-addressing-modes>>
|
||||||
** <<arm-addressing-modes>>
|
** <<arm-addressing-modes>>
|
||||||
* registers: <<assembly-registers>>
|
* registers: <<assembly-registers>>
|
||||||
|
* jumping:
|
||||||
|
** <<x86-control-transfer-instructions>>
|
||||||
|
** <<arm-branch-instructions>>
|
||||||
* SIMD
|
* SIMD
|
||||||
** <<x86-simd>>
|
** <<x86-simd>>
|
||||||
** <<arm-simd>>
|
** <<arm-simd>>
|
||||||
@@ -12404,8 +12407,8 @@ Jcc includes the instructions:
|
|||||||
|
|
||||||
JG vs JA and JL vs JB:
|
JG vs JA and JL vs JB:
|
||||||
|
|
||||||
|
* https://stackoverflow.com/questions/9617877/assembly-jg-jnle-jl-jnge-after-cmp/56613928#56613928
|
||||||
* https://stackoverflow.com/questions/20906639/difference-between-ja-and-jg-in-assembly
|
* https://stackoverflow.com/questions/20906639/difference-between-ja-and-jg-in-assembly
|
||||||
* https://stackoverflow.com/questions/9617877/assembly-jg-jnle-jl-jnge-after-cmp
|
|
||||||
|
|
||||||
=== x86 SIMD
|
=== x86 SIMD
|
||||||
|
|
||||||
|
|||||||
@@ -44,12 +44,12 @@ LKMC_PROLOGUE
|
|||||||
popf
|
popf
|
||||||
pushf
|
pushf
|
||||||
|
|
||||||
/* ! 0 > 255 */
|
/* !(0 > 255) */
|
||||||
LKMC_ASSERT(jna)
|
LKMC_ASSERT(jna)
|
||||||
popf
|
popf
|
||||||
pushf
|
pushf
|
||||||
|
|
||||||
/* ! 0 < -1 */
|
/* !(0 < -1) */
|
||||||
LKMC_ASSERT(jnl)
|
LKMC_ASSERT(jnl)
|
||||||
popf
|
popf
|
||||||
pushf
|
pushf
|
||||||
|
|||||||
Reference in New Issue
Block a user