about summary refs log tree commit diff stats
path: root/318debug-counter.subx
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2021-06-29 22:37:00 -0700
committerKartik K. Agaram <vc@akkartik.com>2021-06-29 22:37:00 -0700
commit1083f2a400d926d57bc9dc6ab412f54295719bfc (patch)
tree6a6a9fc3236b44aaa32b89ed7132ed4fd018c76a /318debug-counter.subx
parenteba4e7af247ce45ea43edaf912f0a7ee4177e2d3 (diff)
downloadmu-1083f2a400d926d57bc9dc6ab412f54295719bfc.tar.gz
.
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