blob: fbc76f1d0ede62e635187599370b4b50f077afd6 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# Listing 1 of https://raytracing.github.io/books/RayTracingInOneWeekend.html
# (simplified)
#
# To run (on Linux):
# $ git clone https://github.com/akkartik/mu
# $ cd mu
# $ ./translate_mu apps/raytracing/1.mu
# $ ./a.elf > 1.ppm
fn main -> _/ebx: int {
print-string 0, "P3\n256 256\n255\n"
var j/ecx: int <- copy 0xff
{
compare j, 0
break-if-<
var i/eax: int <- copy 0
{
compare i, 0xff
break-if->
print-int32-decimal 0, i
print-string 0, " "
print-int32-decimal 0, j
print-string 0, " 64\n"
i <- increment
loop
}
j <- decrement
loop
}
return 0
}
|