about summary refs log tree commit diff stats
path: root/baremetal/401draw-text-rightward.mu
diff options
context:
space:
mode:
Diffstat (limited to 'baremetal/401draw-text-rightward.mu')
-rw-r--r--baremetal/401draw-text-rightward.mu16
1 files changed, 16 insertions, 0 deletions
diff --git a/baremetal/401draw-text-rightward.mu b/baremetal/401draw-text-rightward.mu
new file mode 100644
index 00000000..089c5d5c
--- /dev/null
+++ b/baremetal/401draw-text-rightward.mu
@@ -0,0 +1,16 @@
+fn draw-text-rightward screen: (addr screen), _text: (addr array byte), x: int, y: int, color: int {
+  var text/esi: (addr array byte) <- copy _text
+  var len/ecx: int <- length text
+  var i/edx: int <- copy 0
+  {
+    compare i, len
+    break-if->=
+    var g/eax: (addr byte) <- index text, i
+    var g2/eax: byte <- copy-byte *g
+    var g3/eax: grapheme <- copy g2
+    draw-grapheme screen, g3, x, y, color
+    add-to x, 8  # font-width
+    i <- increment
+    loop
+  }
+}