Files
nand2tetris/projects/07/StackArithmetic/StackTest/StackTest.asm
T
QkoSad 7894b48931 .
2025-07-16 13:00:37 +03:00

374 lines
2.2 KiB
NASM
Executable File

@17
D=A
@SP
A=M
M=D
@SP
M=M+1
@17
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
A=M
D=M
A=A-1
D=M-D
@TRUE0
D;JEQ
@SP
A=M
A=A-1
M=0
@FALSE0
0;JMP
(TRUE0)
@SP
A=M
A=A-1
M=-1
(FALSE0)
@17
D=A
@SP
A=M
M=D
@SP
M=M+1
@16
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
A=M
D=M
A=A-1
D=M-D
@TRUE1
D;JEQ
@SP
A=M
A=A-1
M=0
@FALSE1
0;JMP
(TRUE1)
@SP
A=M
A=A-1
M=-1
(FALSE1)
@16
D=A
@SP
A=M
M=D
@SP
M=M+1
@17
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
A=M
D=M
A=A-1
D=M-D
@TRUE2
D;JEQ
@SP
A=M
A=A-1
M=0
@FALSE2
0;JMP
(TRUE2)
@SP
A=M
A=A-1
M=-1
(FALSE2)
@892
D=A
@SP
A=M
M=D
@SP
M=M+1
@891
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
A=M
D=M
A=A-1
D=M-D
@TRUE3
D;JLT
@SP
A=M
A=A-1
M=0
@FALSE3
0;JMP
(TRUE3)
@SP
A=M
A=A-1
M=-1
(FALSE3)
@891
D=A
@SP
A=M
M=D
@SP
M=M+1
@892
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
A=M
D=M
A=A-1
D=M-D
@TRUE4
D;JLT
@SP
A=M
A=A-1
M=0
@FALSE4
0;JMP
(TRUE4)
@SP
A=M
A=A-1
M=-1
(FALSE4)
@891
D=A
@SP
A=M
M=D
@SP
M=M+1
@891
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
A=M
D=M
A=A-1
D=M-D
@TRUE5
D;JLT
@SP
A=M
A=A-1
M=0
@FALSE5
0;JMP
(TRUE5)
@SP
A=M
A=A-1
M=-1
(FALSE5)
@32767
D=A
@SP
A=M
M=D
@SP
M=M+1
@32766
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
A=M
D=M
A=A-1
D=M-D
@TRUE6
D;JGT
@SP
A=M
A=A-1
M=0
@FALSE6
0;JMP
(TRUE6)
@SP
A=M
A=A-1
M=-1
(FALSE6)
@32766
D=A
@SP
A=M
M=D
@SP
M=M+1
@32767
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
A=M
D=M
A=A-1
D=M-D
@TRUE7
D;JGT
@SP
A=M
A=A-1
M=0
@FALSE7
0;JMP
(TRUE7)
@SP
A=M
A=A-1
M=-1
(FALSE7)
@32766
D=A
@SP
A=M
M=D
@SP
M=M+1
@32766
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
A=M
D=M
A=A-1
D=M-D
@TRUE8
D;JGT
@SP
A=M
A=A-1
M=0
@FALSE8
0;JMP
(TRUE8)
@SP
A=M
A=A-1
M=-1
(FALSE8)
@57
D=A
@SP
A=M
M=D
@SP
M=M+1
@31
D=A
@SP
A=M
M=D
@SP
M=M+1
@53
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
A=M
D=M
A=A-1
M=M+D
@112
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
A=M
D=M
A=A-1
M=M-D
@SP
A=M
A=A-1
M=-M
@SP
M=M-1
A=M
D=M
A=A-1
M=M&D
@82
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
A=M
D=M
A=A-1
M=M|D
@SP
A=M
A=A-1
M=!M