diff options
author | Frederick Yin <fkfd@fkfd.me> | 2022-08-22 17:04:49 +0800 |
---|---|---|
committer | Frederick Yin <fkfd@fkfd.me> | 2022-08-22 17:04:49 +0800 |
commit | 21c58570d3897f1f480b6cf6c572c350e7a0dd95 (patch) | |
tree | eed5ff515d322439ab843e009b00faed0e30e9c8 /projects/07/StackArithmetic | |
parent | 10c9f64f592198d78aad11ebc676629d92ca6576 (diff) |
Output assembly files in project 07
Diffstat (limited to 'projects/07/StackArithmetic')
-rw-r--r-- | projects/07/StackArithmetic/SimpleAdd/SimpleAdd.asm | 19 | ||||
-rw-r--r-- | projects/07/StackArithmetic/StackTest/StackTest.asm | 295 |
2 files changed, 314 insertions, 0 deletions
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 |