MOV R11,#0xFF0000
      MOV R12,#.white
      MOV R1,#screen2
      ADD R3,R1,#12288
clr1:
      STR R12,[R1]
      ADD R1,R1,#4
      CMP R1,R3
      BLT clr1
      MOV R2,#screen2
      MOV R4,#0
      MOV R5,#0
rl1:
      MOV R9,R5
      MOV R6,#64
dr1:
      MOV R10, #63
      SUB R7, R10, R6
      CMP R6, R7
      BLT mdx1
      MOV R7, R6
mdx1:
      MOV R13, #47 
      SUB R8, R13, R5
      CMP R5, R8
      BLT mdy1
      MOV R8, R5
mdy1:
      CMP R7, R8
      BLT min_d1
      MOV R7, R8
min_d1:
      AND R8, R7, #1
      CMP R8,#0
      BEQ db1
      B dw1
db1:
      STR R11,[R2,R4]
      B dl1
dw1:
      STR R12,[R2,R4]
dl1:
      MOV R0,#10000 
dly1:
      SUB R0,R0,#1
      CMP R0,#0
      BNE dly1
      LDR R0,[R2,R4]
      MOV R1,#.PixelScreen
      STR R0,[R1,R4]
      ADD R4,R4,#4
      SUB R6,R6,#1
      CMP R6,#0
      BNE dr1
      MOV R5,R9
      ADD R5,R5,#1
      CMP R5,#48
      BLT rl1
      B art2
art2:
      MOV R11,#0x0000FF
      MOV R12,#.white
      MOV R1,#screen2
      ADD R3,R1,#12288
clr2:
      STR R12,[R1]
      ADD R1,R1,#4
      CMP R1,R3
      BLT clr2
      MOV R2,#screen2
      MOV R4,#0
      MOV R5,#0
rl2:
      MOV R9,R5
      MOV R6,#64
dr2:
      ADD R7,R5,R6
      AND R8,R7,#7
      CMP R8,#0
      BEQ db2
      B dw2
db2:
      STR R11,[R2,R4]
      B dl2
dw2:
      STR R12,[R2,R4]
dl2:
      MOV R0,#10000
dly2:
      SUB R0,R0,#1
      CMP R0,#0
      BNE dly2
      LDR R0,[R2,R4]
      MOV R1,#.PixelScreen
      STR R0,[R1,R4]
      ADD R4,R4,#4
      SUB R6,R6,#1
      CMP R6,#0
      BNE dr2
      MOV R5,R9
      ADD R5,R5,#1
      CMP R5,#48
      BLT rl2
      B art3
art3:
      MOV R11,#0xFF00FF
      MOV R12,#.white
      MOV R1,#screen2
      ADD R3,R1,#12288
clr3:
      STR R12,[R1]
      ADD R1,R1,#4
      CMP R1,R3
      BLT clr3
      MOV R2,#screen2
      MOV R4,#0
      MOV R5,#0
rl3:
      MOV R9,R5
      MOV R6,#64
      AND R7,R5,#1
      CMP R7,#0
      BEQ er3
or3:
      MOV R8,#0
      B dr3
er3:
      MOV R8,#1
dr3:
      CMP R8,#0
      BEQ db3
      STR R12,[R2,R4]
      MOV R8,#0
      B delay3
db3:
      STR R11,[R2,R4]
      MOV R8,#1
delay3:
      MOV R0,#10000
dl3:
      SUB R0,R0,#1
      CMP R0,#0
      BNE dl3
      LDR R0,[R2,R4]
      MOV R1,#.PixelScreen
      STR R0,[R1,R4]
      ADD R4,R4,#4
      SUB R6,R6,#1
      CMP R6,#0
      BNE dr3
      MOV R5,R9
      ADD R5,R5,#1
      CMP R5,#48
      BLT rl3
      B art4
      156
art4:
      MOV R11,#0x00FF00 
      MOV R12,#.white 
      MOV R1,#screen2
      ADD R3,R1,#12288
clr4:
      STR R12,[R1]
      ADD R1,R1,#4
      CMP R1,R3
      BLT clr4
      MOV R2,#screen2
      MOV R4,#0
      MOV R5,#0 
rl4:
      MOV R9,R5
      MOV R6,#64 
dr4:
      MOV R7,R5
      LSR R7,R7,#2 
      ADD R7,R7,R6 
      AND R8,R7,#7 
      CMP R8,#0
      BEQ db4
      B dw4
db4:
      STR R11,[R2,R4] 
      B dl4
dw4:
      STR R12,[R2,R4] 
dl4:
      MOV R0,#10000
dly4:
      SUB R0,R0,#1
      CMP R0,#0
      BNE dly4
      LDR R0,[R2,R4]
      MOV R1,#.PixelScreen
      STR R0,[R1,R4]
      ADD R4,R4,#4
      SUB R6,R6,#1
      CMP R6,#0
      BNE dr4
      MOV R5,R9
      ADD R5,R5,#1
      CMP R5,#48
      BLT rl4
      HALT
      .ALIGN 1024
screen2:.DATA
 STR R0,[R1,R4]
      ADD R4,R4,#4
      SUB R6,R6,#1
      CMP R6,#0
      BNE dr4
      MOV R5,R9
      ADD R5,R5,#1
      CMP R5,#48
      BLT rl4
      HALT
      .ALIGN 1024
screen2:.DATA