https://github.com/akkartik/mu/blob/main/baremetal/503manhattan-line.mu
 1 fn draw-box screen: (addr screen), x1: int, y1: int, x2: int, y2: int, color: int {
 2   draw-horizontal-line screen, x1, x2, y1, color
 3   draw-vertical-line screen, x1, y1, y2, color
 4   draw-horizontal-line screen, x1, x2, y2, color
 5   draw-vertical-line screen, x2, y1, y2, color
 6 }
 7 
 8 fn draw-horizontal-line screen: (addr screen), x1: int, x2: int, y: int, color: int {
 9   var x/eax: int <- copy x1
10   {
11     compare x, x2
12     break-if->=
13     pixel screen, x, y, color
14     x <- increment
15     loop
16   }
17 }
18 
19 fn draw-vertical-line screen: (addr screen), x: int, y1: int, y2: int, color: int {
20   var y/eax: int <- copy y1
21   {
22     compare y, y2
23     break-if->=
24     pixel screen, x, y, color
25     y <- increment
26     loop
27   }
28 }