about summary refs log tree commit diff stats
path: root/example/samples/x86_32_automod.S
diff options
context:
space:
mode:
Diffstat (limited to 'example/samples/x86_32_automod.S')
-rw-r--r--example/samples/x86_32_automod.S40
1 files changed, 40 insertions, 0 deletions
diff --git a/example/samples/x86_32_automod.S b/example/samples/x86_32_automod.S
new file mode 100644
index 00000000..ea61a772
--- /dev/null
+++ b/example/samples/x86_32_automod.S
@@ -0,0 +1,40 @@
+main:
+	XOR   EDX, EDX
+	JZ    lbl_start
+
+lbl_start:
+	INC   EDX
+	INC   EDX
+	INC   EDX
+	JZ    dum
+
+	INC   EDX
+	INC   EDX
+	INC   EDX
+	JZ    dum
+
+	INC   EDX
+	INC   EDX
+	INC   EDX
+	JZ    dum
+
+lbl_stop:
+
+	MOV   ESI, exit_code
+	MOV   EDI, lbl_start
+	MOV   AL, 0x90
+	MOV   ECX, 24
+	REPE  MOVSB
+	JMP   lbl_start
+
+exit_code:
+	MOV  EAX, 0x11223344
+	MOV  EAX, 0x11223344
+	MOV  EAX, 0x11223344
+	CMP  EDX, 0x12
+	JZ   dum
+	RET
+
+dum:
+	INT 0x3
+	RET