diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2021-07-16 08:09:42 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2021-07-16 08:28:56 -0700 |
commit | 44d26b77c45668c9b0c99894a4294cec004361fe (patch) | |
tree | 68a5dcd4971873efd4ce184e9bf9a531c2161813 /apps/ex12.mu | |
parent | ac45f097153afd3a89f43886e4124c5b2c26b98a (diff) | |
download | mu-44d26b77c45668c9b0c99894a4294cec004361fe.tar.gz |
.
Diffstat (limited to 'apps/ex12.mu')
-rw-r--r-- | apps/ex12.mu | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/apps/ex12.mu b/apps/ex12.mu new file mode 100644 index 00000000..79c259b8 --- /dev/null +++ b/apps/ex12.mu @@ -0,0 +1,28 @@ +# Checking the timer. +# +# To build a disk image: +# ./translate apps/ex12.mu # emits code.img +# To run: +# qemu-system-i386 code.img +# Or: +# bochs -f bochsrc # bochsrc loads code.img +# +# Expected output: text with slowly updating colors + +fn main screen: (addr screen), keyboard: (addr keyboard), data-disk: (addr disk) { + var fg/ecx: int <- copy 0 + var prev-timer-counter/edx: int <- copy 0 + { + var dummy/eax: int <- draw-text-rightward screen, "hello from baremetal Mu!", 0x10/x, 0x400/xmax, 0x10/y, fg, 0/bg + # wait for timer to bump + { + var curr-timer-counter/eax: int <- timer-counter + compare curr-timer-counter, prev-timer-counter + loop-if-= + prev-timer-counter <- copy curr-timer-counter + } + # switch color + fg <- increment + loop + } +} |