+; initialize grid
+mov di, GRID
+mov cx, COLS * ROWS
+
+.initgrid: ; do {
+ call xs ; ax = rand
+ mov dl, DEAD ; dl = DEAD (likely)
+
+ test ax, 0b11
+
+ jnz .initgrid_nz ; if (ax % 4 == 0)
+ mov dl, ALIVE ; dl = ALIVE
+
+.initgrid_nz:
+ mov [di + cx], dl ; grid[cx] = dl
+
+ loop .initgrid ; } while (--cx)
+
+jmp halt
+