about summary refs log tree commit diff stats
path: root/318debug-counter.subx
diff options
context:
space:
mode:
Diffstat (limited to '318debug-counter.subx')
-rw-r--r--318debug-counter.subx31
1 files changed, 31 insertions, 0 deletions
diff --git a/318debug-counter.subx b/318debug-counter.subx
new file mode 100644
index 00000000..74e1f4f8
--- /dev/null
+++ b/318debug-counter.subx
@@ -0,0 +1,31 @@
+# A rudimentary counter that can be called from anywhere.
+
+== code
+
+count-event:
+    # . prologue
+    55/push-ebp
+    89/<- %ebp 4/r32/esp
+    #
+    ff 0/subop/increment *Foo
+$count-event:end:
+    # . epilogue
+    89/<- %esp 5/r32/ebp
+    5d/pop-to-ebp
+    c3/return
+
+count-of-events:  # -> _/eax: int
+    # . prologue
+    55/push-ebp
+    89/<- %ebp 4/r32/esp
+    #
+    8b/-> *Foo 0/r32/eax
+$count-of-events:end:
+    # . epilogue
+    89/<- %esp 5/r32/ebp
+    5d/pop-to-ebp
+    c3/return
+
+== data
+Foo:
+  0/imm32