.
This commit is contained in:
Executable
+467
@@ -0,0 +1,467 @@
|
||||
function Main.main 5
|
||||
push constant 17000
|
||||
pop local 4
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 10
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 4
|
||||
push constant 1
|
||||
add
|
||||
push constant 333
|
||||
call Memory.poke 2
|
||||
pop temp 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 11
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 4
|
||||
push constant 1
|
||||
add
|
||||
call Memory.peek 1
|
||||
pop local 0
|
||||
push local 4
|
||||
push constant 2
|
||||
push local 0
|
||||
push constant 1
|
||||
add
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 12
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 20
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push constant 20
|
||||
call Memory.alloc 1
|
||||
pop local 1
|
||||
push local 4
|
||||
push constant 3
|
||||
push local 1
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 21
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 1
|
||||
push constant 20
|
||||
call Main.checkRange 2
|
||||
pop temp 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 22
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 30
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push constant 3
|
||||
call Memory.alloc 1
|
||||
pop local 2
|
||||
push local 4
|
||||
push constant 4
|
||||
push local 2
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 31
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 2
|
||||
push constant 3
|
||||
call Main.checkRange 2
|
||||
pop temp 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 32
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 2
|
||||
push constant 3
|
||||
push local 1
|
||||
push constant 3
|
||||
call Main.checkOverlap 4
|
||||
pop temp 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 33
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 40
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push constant 500
|
||||
call Memory.alloc 1
|
||||
pop local 3
|
||||
push local 4
|
||||
push constant 5
|
||||
push local 3
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 41
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 3
|
||||
push constant 500
|
||||
call Main.checkRange 2
|
||||
pop temp 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 42
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 3
|
||||
push constant 500
|
||||
push local 1
|
||||
push constant 3
|
||||
call Main.checkOverlap 4
|
||||
pop temp 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 43
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 3
|
||||
push constant 500
|
||||
push local 2
|
||||
push constant 3
|
||||
call Main.checkOverlap 4
|
||||
pop temp 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 44
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 50
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 1
|
||||
call Memory.deAlloc 1
|
||||
pop temp 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 51
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 2
|
||||
call Memory.deAlloc 1
|
||||
pop temp 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 52
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 60
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push constant 3
|
||||
call Memory.alloc 1
|
||||
pop local 2
|
||||
push local 4
|
||||
push constant 6
|
||||
push local 2
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 61
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 2
|
||||
push constant 3
|
||||
call Main.checkRange 2
|
||||
pop temp 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 62
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 2
|
||||
push constant 3
|
||||
push local 3
|
||||
push constant 500
|
||||
call Main.checkOverlap 4
|
||||
pop temp 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 63
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 70
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 3
|
||||
call Memory.deAlloc 1
|
||||
pop temp 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 71
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 2
|
||||
call Memory.deAlloc 1
|
||||
pop temp 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 72
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 70
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push constant 8000
|
||||
call Memory.alloc 1
|
||||
pop local 1
|
||||
push local 4
|
||||
push constant 7
|
||||
push local 1
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 71
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 1
|
||||
push constant 8000
|
||||
call Main.checkRange 2
|
||||
pop temp 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 72
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 1
|
||||
call Memory.deAlloc 1
|
||||
pop temp 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 73
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push constant 7000
|
||||
call Memory.alloc 1
|
||||
pop local 1
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 74
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 1
|
||||
push constant 7000
|
||||
call Main.checkRange 2
|
||||
pop temp 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 75
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 1
|
||||
call Memory.deAlloc 1
|
||||
pop temp 0
|
||||
push local 4
|
||||
push constant 8
|
||||
push local 1
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push local 4
|
||||
push constant 0
|
||||
push constant 100
|
||||
pop temp 1
|
||||
add
|
||||
pop pointer 1
|
||||
push temp 1
|
||||
pop that 0
|
||||
push constant 0
|
||||
return
|
||||
function Main.checkRange 1
|
||||
push argument 0
|
||||
push argument 1
|
||||
add
|
||||
push constant 1
|
||||
sub
|
||||
pop local 0
|
||||
push argument 0
|
||||
push constant 2048
|
||||
lt
|
||||
push local 0
|
||||
push constant 16383
|
||||
gt
|
||||
or
|
||||
not
|
||||
if-goto L0
|
||||
call Sys.halt 0
|
||||
pop temp 0
|
||||
goto L1
|
||||
label L0
|
||||
label L1
|
||||
push constant 0
|
||||
return
|
||||
function Main.checkOverlap 2
|
||||
push argument 0
|
||||
push argument 1
|
||||
add
|
||||
push constant 1
|
||||
sub
|
||||
pop local 0
|
||||
push argument 2
|
||||
push argument 3
|
||||
add
|
||||
push constant 1
|
||||
sub
|
||||
pop local 1
|
||||
push argument 0
|
||||
push local 1
|
||||
gt
|
||||
push local 0
|
||||
push argument 2
|
||||
lt
|
||||
or
|
||||
not
|
||||
not
|
||||
if-goto L2
|
||||
call Sys.halt 0
|
||||
pop temp 0
|
||||
goto L3
|
||||
label L2
|
||||
label L3
|
||||
push constant 0
|
||||
return
|
||||
Reference in New Issue
Block a user