mirror of
https://github.com/usatiuk/nand2tetris.git
synced 2025-10-29 00:27:49 +01:00
163 lines
2.0 KiB
Plaintext
163 lines
2.0 KiB
Plaintext
function Main.main 1
|
|
push constant 8000
|
|
pop local 0
|
|
push constant 0
|
|
push local 0
|
|
add
|
|
push constant 2
|
|
push constant 3
|
|
call Math.multiply 2
|
|
pop temp 0
|
|
pop pointer 1
|
|
push temp 0
|
|
pop that 0
|
|
push constant 1
|
|
push local 0
|
|
add
|
|
push constant 0
|
|
push local 0
|
|
add
|
|
pop pointer 1
|
|
push that 0
|
|
push constant 30
|
|
neg
|
|
call Math.multiply 2
|
|
pop temp 0
|
|
pop pointer 1
|
|
push temp 0
|
|
pop that 0
|
|
push constant 2
|
|
push local 0
|
|
add
|
|
push constant 1
|
|
push local 0
|
|
add
|
|
pop pointer 1
|
|
push that 0
|
|
push constant 100
|
|
call Math.multiply 2
|
|
pop temp 0
|
|
pop pointer 1
|
|
push temp 0
|
|
pop that 0
|
|
push constant 3
|
|
push local 0
|
|
add
|
|
push constant 1
|
|
push constant 2
|
|
push local 0
|
|
add
|
|
pop pointer 1
|
|
push that 0
|
|
call Math.multiply 2
|
|
pop temp 0
|
|
pop pointer 1
|
|
push temp 0
|
|
pop that 0
|
|
push constant 4
|
|
push local 0
|
|
add
|
|
push constant 3
|
|
push local 0
|
|
add
|
|
pop pointer 1
|
|
push that 0
|
|
push constant 0
|
|
call Math.multiply 2
|
|
pop temp 0
|
|
pop pointer 1
|
|
push temp 0
|
|
pop that 0
|
|
push constant 5
|
|
push local 0
|
|
add
|
|
push constant 9
|
|
push constant 3
|
|
call Math.divide 2
|
|
pop temp 0
|
|
pop pointer 1
|
|
push temp 0
|
|
pop that 0
|
|
push constant 6
|
|
push local 0
|
|
add
|
|
push constant 18000
|
|
neg
|
|
push constant 6
|
|
call Math.divide 2
|
|
pop temp 0
|
|
pop pointer 1
|
|
push temp 0
|
|
pop that 0
|
|
push constant 7
|
|
push local 0
|
|
add
|
|
push constant 32766
|
|
push constant 32767
|
|
neg
|
|
call Math.divide 2
|
|
pop temp 0
|
|
pop pointer 1
|
|
push temp 0
|
|
pop that 0
|
|
push constant 8
|
|
push local 0
|
|
add
|
|
push constant 9
|
|
call Math.sqrt 1
|
|
pop temp 0
|
|
pop pointer 1
|
|
push temp 0
|
|
pop that 0
|
|
push constant 9
|
|
push local 0
|
|
add
|
|
push constant 32767
|
|
call Math.sqrt 1
|
|
pop temp 0
|
|
pop pointer 1
|
|
push temp 0
|
|
pop that 0
|
|
push constant 10
|
|
push local 0
|
|
add
|
|
push constant 345
|
|
push constant 123
|
|
call Math.min 2
|
|
pop temp 0
|
|
pop pointer 1
|
|
push temp 0
|
|
pop that 0
|
|
push constant 11
|
|
push local 0
|
|
add
|
|
push constant 123
|
|
push constant 345
|
|
neg
|
|
call Math.max 2
|
|
pop temp 0
|
|
pop pointer 1
|
|
push temp 0
|
|
pop that 0
|
|
push constant 12
|
|
push local 0
|
|
add
|
|
push constant 27
|
|
call Math.abs 1
|
|
pop temp 0
|
|
pop pointer 1
|
|
push temp 0
|
|
pop that 0
|
|
push constant 13
|
|
push local 0
|
|
add
|
|
push constant 32767
|
|
neg
|
|
call Math.abs 1
|
|
pop temp 0
|
|
pop pointer 1
|
|
push temp 0
|
|
pop that 0
|
|
push constant 0
|
|
return
|