about summary refs log tree commit diff stats
path: root/baremetal/shell/grapheme-stack.mu
diff options
context:
space:
mode:
Diffstat (limited to 'baremetal/shell/grapheme-stack.mu')
-rw-r--r--baremetal/shell/grapheme-stack.mu6
1 files changed, 6 insertions, 0 deletions
diff --git a/baremetal/shell/grapheme-stack.mu b/baremetal/shell/grapheme-stack.mu
index 8a4bbd0a..ad8fbc24 100644
--- a/baremetal/shell/grapheme-stack.mu
+++ b/baremetal/shell/grapheme-stack.mu
@@ -30,6 +30,12 @@ fn grapheme-stack-empty? _self: (addr grapheme-stack) -> _/eax: boolean {
   return 0/false
 }
 
+fn grapheme-stack-length _self: (addr grapheme-stack) -> _/eax: int {
+  var self/esi: (addr grapheme-stack) <- copy _self
+  var top/eax: (addr int) <- get self, top
+  return *top
+}
+
 fn push-grapheme-stack _self: (addr grapheme-stack), _val: grapheme {
   var self/esi: (addr grapheme-stack) <- copy _self
   var top-addr/ecx: (addr int) <- get self, top