Add solutions for part 1
This commit is contained in:
95
projects/08/FunctionCalls/StaticsTest/Sys.asm
Normal file
95
projects/08/FunctionCalls/StaticsTest/Sys.asm
Normal file
@@ -0,0 +1,95 @@
|
||||
// Unsupported Function
|
||||
|
||||
// push constant 6
|
||||
@6
|
||||
D = A
|
||||
@SP
|
||||
A = M
|
||||
M = D
|
||||
@SP
|
||||
M = M + 1
|
||||
|
||||
// push constant 8
|
||||
@8
|
||||
D = A
|
||||
@SP
|
||||
A = M
|
||||
M = D
|
||||
@SP
|
||||
M = M + 1
|
||||
|
||||
// Unsupported Call
|
||||
|
||||
// pop temp 0
|
||||
@0
|
||||
D = A
|
||||
@5
|
||||
A = D + A
|
||||
D = A
|
||||
@R13
|
||||
M = D
|
||||
// ^ R13 = temp + index
|
||||
@SP
|
||||
A = M
|
||||
A = A - 1
|
||||
D = M
|
||||
@SP
|
||||
M = M - 1
|
||||
// ^ pop into D
|
||||
@R13
|
||||
A = M
|
||||
M = D
|
||||
// ^ *R13 = D
|
||||
|
||||
// push constant 23
|
||||
@23
|
||||
D = A
|
||||
@SP
|
||||
A = M
|
||||
M = D
|
||||
@SP
|
||||
M = M + 1
|
||||
|
||||
// push constant 15
|
||||
@15
|
||||
D = A
|
||||
@SP
|
||||
A = M
|
||||
M = D
|
||||
@SP
|
||||
M = M + 1
|
||||
|
||||
// Unsupported Call
|
||||
|
||||
// pop temp 0
|
||||
@0
|
||||
D = A
|
||||
@5
|
||||
A = D + A
|
||||
D = A
|
||||
@R13
|
||||
M = D
|
||||
// ^ R13 = temp + index
|
||||
@SP
|
||||
A = M
|
||||
A = A - 1
|
||||
D = M
|
||||
@SP
|
||||
M = M - 1
|
||||
// ^ pop into D
|
||||
@R13
|
||||
A = M
|
||||
M = D
|
||||
// ^ *R13 = D
|
||||
|
||||
// Unsupported Call
|
||||
|
||||
// Unsupported Call
|
||||
|
||||
// label WHILE
|
||||
(WHILE)
|
||||
|
||||
// goto WHILE
|
||||
@WHILE
|
||||
0;JMP
|
||||
|
||||
Reference in New Issue
Block a user