From 21c58570d3897f1f480b6cf6c572c350e7a0dd95 Mon Sep 17 00:00:00 2001 From: Frederick Yin Date: Mon, 22 Aug 2022 17:04:49 +0800 Subject: Output assembly files in project 07 --- .../07/StackArithmetic/SimpleAdd/SimpleAdd.asm | 19 ++ .../07/StackArithmetic/StackTest/StackTest.asm | 295 +++++++++++++++++++++ 2 files changed, 314 insertions(+) create mode 100644 projects/07/StackArithmetic/SimpleAdd/SimpleAdd.asm create mode 100644 projects/07/StackArithmetic/StackTest/StackTest.asm (limited to 'projects/07/StackArithmetic') diff --git a/projects/07/StackArithmetic/SimpleAdd/SimpleAdd.asm b/projects/07/StackArithmetic/SimpleAdd/SimpleAdd.asm new file mode 100644 index 0000000..71d9d8d --- /dev/null +++ b/projects/07/StackArithmetic/SimpleAdd/SimpleAdd.asm @@ -0,0 +1,19 @@ +@7 +D=A +@SP +A=M +M=D +@SP +M=M+1 +@8 +D=A +@SP +A=M +M=D +@SP +M=M+1 +@SP +AM=M-1 +D=M +A=A-1 +M=D+M diff --git a/projects/07/StackArithmetic/StackTest/StackTest.asm b/projects/07/StackArithmetic/StackTest/StackTest.asm new file mode 100644 index 0000000..b0d944a --- /dev/null +++ b/projects/07/StackArithmetic/StackTest/StackTest.asm @@ -0,0 +1,295 @@ +@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 +AM=M-1 +D=M +A=A-1 +D=M-D +M=0 +@END_EQ_0 +D;JNE +@SP +A=M-1 +M=-1 +(END_EQ_0) +@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 +AM=M-1 +D=M +A=A-1 +D=M-D +M=0 +@END_EQ_1 +D;JNE +@SP +A=M-1 +M=-1 +(END_EQ_1) +@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 +AM=M-1 +D=M +A=A-1 +D=M-D +M=0 +@END_EQ_2 +D;JNE +@SP +A=M-1 +M=-1 +(END_EQ_2) +@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 +AM=M-1 +D=M +A=A-1 +D=M-D +M=0 +@END_LT_3 +D;JGE +@SP +A=M-1 +M=-1 +(END_LT_3) +@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 +AM=M-1 +D=M +A=A-1 +D=M-D +M=0 +@END_LT_4 +D;JGE +@SP +A=M-1 +M=-1 +(END_LT_4) +@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 +AM=M-1 +D=M +A=A-1 +D=M-D +M=0 +@END_LT_5 +D;JGE +@SP +A=M-1 +M=-1 +(END_LT_5) +@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 +AM=M-1 +D=M +A=A-1 +D=M-D +M=0 +@END_GT_6 +D;JLE +@SP +A=M-1 +M=-1 +(END_GT_6) +@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 +AM=M-1 +D=M +A=A-1 +D=M-D +M=0 +@END_GT_7 +D;JLE +@SP +A=M-1 +M=-1 +(END_GT_7) +@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 +AM=M-1 +D=M +A=A-1 +D=M-D +M=0 +@END_GT_8 +D;JLE +@SP +A=M-1 +M=-1 +(END_GT_8) +@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 +AM=M-1 +D=M +A=A-1 +M=D+M +@112 +D=A +@SP +A=M +M=D +@SP +M=M+1 +@SP +AM=M-1 +D=M +A=A-1 +M=M-D +@SP +A=M-1 +M=-M +@SP +AM=M-1 +D=M +A=A-1 +M=D&M +@82 +D=A +@SP +A=M +M=D +@SP +M=M+1 +@SP +AM=M-1 +D=M +A=A-1 +M=D|M +@SP +A=M-1 +M=!M -- cgit v1.2.3