summaryrefslogtreecommitdiffstats
path: root/docs/re/test_v_cmp.txt
diff options
context:
space:
mode:
authorMalfurious <m@lfurio.us>2020-12-20 15:42:48 -0500
committerMalfurious <m@lfurio.us>2020-12-20 15:42:48 -0500
commit0c452f6508a2e14b22aa3abc93497ee6078a49f8 (patch)
treeebe81a8dd8faeba1974fd1ed99faddc6f2324764 /docs/re/test_v_cmp.txt
parent185fbba630227258f705c3d843d458e02becf84e (diff)
downloadlib-des-gnux-0c452f6508a2e14b22aa3abc93497ee6078a49f8.tar.gz
lib-des-gnux-0c452f6508a2e14b22aa3abc93497ee6078a49f8.zip
Create RE documentation directory
Signed-off-by: Malfurious <m@lfurio.us>
Diffstat (limited to 'docs/re/test_v_cmp.txt')
-rw-r--r--docs/re/test_v_cmp.txt14
1 files changed, 14 insertions, 0 deletions
diff --git a/docs/re/test_v_cmp.txt b/docs/re/test_v_cmp.txt
new file mode 100644
index 0000000..5a0c5af
--- /dev/null
+++ b/docs/re/test_v_cmp.txt
@@ -0,0 +1,14 @@
+CMP subtracts operands and sets internal flags. Among these, it sets the
+zero flag if the difference is zero (operands are equal).
+
+TEST sets the zero flag (ZF) when the result of the AND operation is zero. If
+the two operands are equal, their bitwise AND is zero only when the operands
+themselves are zero. TEST also sets the sign flag (SF) when the most
+significant bit is set in the result, and the parity flag (PF) when the number
+of set bits is even.
+
+JE (alias of JZ) tests the zero flag and jumps if it is set. This makes:
+test eax, eax
+je 0x1234
+equivalent to the C statement:
+if (eax == 0)