about summary refs log tree commit diff stats
path: root/example/x86_32_repmod.S
diff options
context:
space:
mode:
Diffstat (limited to 'example/x86_32_repmod.S')
-rw-r--r--example/x86_32_repmod.S46
1 files changed, 46 insertions, 0 deletions
diff --git a/example/x86_32_repmod.S b/example/x86_32_repmod.S
new file mode 100644
index 00000000..332a876c
--- /dev/null
+++ b/example/x86_32_repmod.S
@@ -0,0 +1,46 @@
+main:
+    CALL test_automod
+    RET
+
+lbl_good:
+    NOP
+    NOP
+    NOP
+    NOP
+    NOP
+    NOP
+    NOP
+    NOP
+    NOP
+
+test_automod:
+    PUSH EBP
+    MOV  EBP, ESP
+
+    LEA EDI, DWORD PTR [lbl_mod]
+    LEA ESI, DWORD PTR [lbl_good]
+
+    MOV ECX, 0x8
+    REPE MOVSB
+lbl_mod:
+    XOR EAX, EAX
+    MOV DWORD PTR [EAX], 0xDEADC0DE
+
+    NOP
+    NOP
+    NOP
+
+    PUSH 0
+    PUSH title
+    PUSH msg
+    PUSH 0
+    CALL DWORD PTR [ MessageBoxA ]
+
+    MOV ESP, EBP
+    POP EBP
+    RET
+
+title:
+.string "Hello!"
+msg:
+.string "World!"