質問編集履歴

3

typo

2020/04/17 18:12

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -100,23 +100,9 @@
100
100
 
101
101
  M=D
102
102
 
103
- RETURN_ADDRESS.1
104
-
105
- D=A
106
-
107
- @SP
108
-
109
- A=M
110
-
111
- M=D
112
-
113
- @SP
114
-
115
- M=M+1
116
-
117
103
  @RETURN_ADDRESS.1
118
104
 
119
- D=M
105
+ D=A
120
106
 
121
107
  @SP
122
108
 
@@ -212,7 +198,7 @@
212
198
 
213
199
  0;JMP
214
200
 
215
- (RETURN_ADDRESS.1)
201
+ (@RETURN_ADDRESS.1)
216
202
 
217
203
  (Main.fibonacci)
218
204
 
@@ -512,23 +498,9 @@
512
498
 
513
499
  M=M+1
514
500
 
515
- RETURN_ADDRESS.2
516
-
517
- D=A
518
-
519
- @SP
520
-
521
- A=M
522
-
523
- M=D
524
-
525
- @SP
526
-
527
- M=M+1
528
-
529
501
  @RETURN_ADDRESS.2
530
502
 
531
- D=M
503
+ D=A
532
504
 
533
505
  @SP
534
506
 
@@ -624,7 +596,7 @@
624
596
 
625
597
  0;JMP
626
598
 
627
- (RETURN_ADDRESS.2)
599
+ (@RETURN_ADDRESS.2)
628
600
 
629
601
  @0
630
602
 
@@ -686,23 +658,9 @@
686
658
 
687
659
  M=M+1
688
660
 
689
- RETURN_ADDRESS.3
690
-
691
- D=A
692
-
693
- @SP
694
-
695
- A=M
696
-
697
- M=D
698
-
699
- @SP
700
-
701
- M=M+1
702
-
703
661
  @RETURN_ADDRESS.3
704
662
 
705
- D=M
663
+ D=A
706
664
 
707
665
  @SP
708
666
 
@@ -798,7 +756,7 @@
798
756
 
799
757
  0;JMP
800
758
 
801
- (RETURN_ADDRESS.3)
759
+ (@RETURN_ADDRESS.3)
802
760
 
803
761
  @SP
804
762
 
@@ -936,23 +894,9 @@
936
894
 
937
895
  M=M+1
938
896
 
939
- RETURN_ADDRESS.1
940
-
941
- D=A
942
-
943
- @SP
944
-
945
- A=M
946
-
947
- M=D
948
-
949
- @SP
950
-
951
- M=M+1
952
-
953
897
  @RETURN_ADDRESS.1
954
898
 
955
- D=M
899
+ D=A
956
900
 
957
901
  @SP
958
902
 
@@ -1048,7 +992,7 @@
1048
992
 
1049
993
  0;JMP
1050
994
 
1051
- (RETURN_ADDRESS.1)
995
+ (@RETURN_ADDRESS.1)
1052
996
 
1053
997
  (@Main.fibonacci$WHILE)
1054
998
 
@@ -1056,972 +1000,6 @@
1056
1000
 
1057
1001
  0;JMP
1058
1002
 
1059
- @256
1060
-
1061
- D=A
1062
-
1063
- @SP
1064
-
1065
- M=D
1066
-
1067
- @RETURN_ADDRESS.1
1068
-
1069
- D=A
1070
-
1071
- @SP
1072
-
1073
- A=M
1074
-
1075
- M=D
1076
-
1077
- @SP
1078
-
1079
- M=M+1
1080
-
1081
- @@RETURN_ADDRESS.1
1082
-
1083
- D=M
1084
-
1085
- @SP
1086
-
1087
- A=M
1088
-
1089
- M=D
1090
-
1091
- @SP
1092
-
1093
- M=M+1
1094
-
1095
- @LCL
1096
-
1097
- D=M
1098
-
1099
- @SP
1100
-
1101
- A=M
1102
-
1103
- M=D
1104
-
1105
- @SP
1106
-
1107
- M=M+1
1108
-
1109
- @ARG
1110
-
1111
- D=M
1112
-
1113
- @SP
1114
-
1115
- A=M
1116
-
1117
- M=D
1118
-
1119
- @SP
1120
-
1121
- M=M+1
1122
-
1123
- @THIS
1124
-
1125
- D=M
1126
-
1127
- @SP
1128
-
1129
- A=M
1130
-
1131
- M=D
1132
-
1133
- @SP
1134
-
1135
- M=M+1
1136
-
1137
- @THAT
1138
-
1139
- D=M
1140
-
1141
- @SP
1142
-
1143
- A=M
1144
-
1145
- M=D
1146
-
1147
- @SP
1148
-
1149
- M=M+1
1150
-
1151
- @SP
1152
-
1153
- D=M
1154
-
1155
- @0
1156
-
1157
- D=D-A
1158
-
1159
- @5
1160
-
1161
- D=D-A
1162
-
1163
- @ARG
1164
-
1165
- M=D
1166
-
1167
- @SP
1168
-
1169
- D=M
1170
-
1171
- @LCL
1172
-
1173
- M=D
1174
-
1175
- @Sys.init
1176
-
1177
- 0;JMP
1178
-
1179
- (@RETURN_ADDRESS.1)
1180
-
1181
- (Main.fibonacci)
1182
-
1183
- @0
1184
-
1185
- D=A
1186
-
1187
- @ARG
1188
-
1189
- M=M+D
1190
-
1191
- A=M
1192
-
1193
- D=M
1194
-
1195
- @SP
1196
-
1197
- A=M
1198
-
1199
- M=D
1200
-
1201
- @SP
1202
-
1203
- M=M+1
1204
-
1205
- @0
1206
-
1207
- D=A
1208
-
1209
- @ARG
1210
-
1211
- M=M-D
1212
-
1213
- @2
1214
-
1215
- D=A
1216
-
1217
- @SP
1218
-
1219
- A=M
1220
-
1221
- M=D
1222
-
1223
- @SP
1224
-
1225
- M=M+1
1226
-
1227
- @SP
1228
-
1229
- AM=M-1
1230
-
1231
- D=M
1232
-
1233
- @SP
1234
-
1235
- AM=M-1
1236
-
1237
- D=M-D
1238
-
1239
- @FALSE_Label.1
1240
-
1241
- D;JLT
1242
-
1243
- @SP
1244
-
1245
- A=M
1246
-
1247
- M=0
1248
-
1249
- @END_Label.1
1250
-
1251
- 0;JMP
1252
-
1253
- (FALSE_Label.1)
1254
-
1255
- @SP
1256
-
1257
- A=M
1258
-
1259
- M=-1
1260
-
1261
- (END_Label.1)
1262
-
1263
- @SP
1264
-
1265
- M=M+1
1266
-
1267
- @SP
1268
-
1269
- AM=M-1
1270
-
1271
- D=M
1272
-
1273
- @Main.fibonacci$IF_TRUE
1274
-
1275
- D;JNE
1276
-
1277
- @Main.fibonacci$IF_FALSE
1278
-
1279
- 0;JMP
1280
-
1281
- (@Main.fibonacci$IF_TRUE)
1282
-
1283
- @0
1284
-
1285
- D=A
1286
-
1287
- @ARG
1288
-
1289
- M=M+D
1290
-
1291
- A=M
1292
-
1293
- D=M
1294
-
1295
- @SP
1296
-
1297
- A=M
1298
-
1299
- M=D
1300
-
1301
- @SP
1302
-
1303
- M=M+1
1304
-
1305
- @0
1306
-
1307
- D=A
1308
-
1309
- @ARG
1310
-
1311
- M=M-D
1312
-
1313
- @LCL
1314
-
1315
- D=M
1316
-
1317
- @R13
1318
-
1319
- M=D
1320
-
1321
- @5
1322
-
1323
- D=A
1324
-
1325
- @R13
1326
-
1327
- A=M-D
1328
-
1329
- D=M
1330
-
1331
- @R14
1332
-
1333
- M=D
1334
-
1335
- @SP
1336
-
1337
- AM=M-1
1338
-
1339
- D=M
1340
-
1341
- @ARG
1342
-
1343
- A=M
1344
-
1345
- M=D
1346
-
1347
- @ARG
1348
-
1349
- D=M+1
1350
-
1351
- @SP
1352
-
1353
- M=D
1354
-
1355
- @1
1356
-
1357
- D=A
1358
-
1359
- @R13
1360
-
1361
- A=M-D
1362
-
1363
- D=M
1364
-
1365
- @THAT
1366
-
1367
- M=D
1368
-
1369
- @2
1370
-
1371
- D=A
1372
-
1373
- @R13
1374
-
1375
- A=M-D
1376
-
1377
- D=M
1378
-
1379
- @THIS
1380
-
1381
- M=D
1382
-
1383
- @3
1384
-
1385
- D=A
1386
-
1387
- @R13
1388
-
1389
- A=M-D
1390
-
1391
- D=M
1392
-
1393
- @ARG
1394
-
1395
- M=D
1396
-
1397
- @4
1398
-
1399
- D=A
1400
-
1401
- @R13
1402
-
1403
- A=M-D
1404
-
1405
- D=M
1406
-
1407
- @LCL
1408
-
1409
- M=D
1410
-
1411
- @R14
1412
-
1413
- A=M
1414
-
1415
- 0;JMP
1416
-
1417
- (@Main.fibonacci$IF_FALSE)
1418
-
1419
- @0
1420
-
1421
- D=A
1422
-
1423
- @ARG
1424
-
1425
- M=M+D
1426
-
1427
- A=M
1428
-
1429
- D=M
1430
-
1431
- @SP
1432
-
1433
- A=M
1434
-
1435
- M=D
1436
-
1437
- @SP
1438
-
1439
- M=M+1
1440
-
1441
- @0
1442
-
1443
- D=A
1444
-
1445
- @ARG
1446
-
1447
- M=M-D
1448
-
1449
- @2
1450
-
1451
- D=A
1452
-
1453
- @SP
1454
-
1455
- A=M
1456
-
1457
- M=D
1458
-
1459
- @SP
1460
-
1461
- M=M+1
1462
-
1463
- @SP
1464
-
1465
- AM=M-1
1466
-
1467
- D=M
1468
-
1469
- @SP
1470
-
1471
- AM=M-1
1472
-
1473
- M=M-D
1474
-
1475
- @SP
1476
-
1477
- M=M+1
1478
-
1479
- @RETURN_ADDRESS.2
1480
-
1481
- D=A
1482
-
1483
- @SP
1484
-
1485
- A=M
1486
-
1487
- M=D
1488
-
1489
- @SP
1490
-
1491
- M=M+1
1492
-
1493
- @@RETURN_ADDRESS.2
1494
-
1495
- D=M
1496
-
1497
- @SP
1498
-
1499
- A=M
1500
-
1501
- M=D
1502
-
1503
- @SP
1504
-
1505
- M=M+1
1506
-
1507
- @LCL
1508
-
1509
- D=M
1510
-
1511
- @SP
1512
-
1513
- A=M
1514
-
1515
- M=D
1516
-
1517
- @SP
1518
-
1519
- M=M+1
1520
-
1521
- @ARG
1522
-
1523
- D=M
1524
-
1525
- @SP
1526
-
1527
- A=M
1528
-
1529
- M=D
1530
-
1531
- @SP
1532
-
1533
- M=M+1
1534
-
1535
- @THIS
1536
-
1537
- D=M
1538
-
1539
- @SP
1540
-
1541
- A=M
1542
-
1543
- M=D
1544
-
1545
- @SP
1546
-
1547
- M=M+1
1548
-
1549
- @THAT
1550
-
1551
- D=M
1552
-
1553
- @SP
1554
-
1555
- A=M
1556
-
1557
- M=D
1558
-
1559
- @SP
1560
-
1561
- M=M+1
1562
-
1563
- @SP
1564
-
1565
- D=M
1566
-
1567
- @1
1568
-
1569
- D=D-A
1570
-
1571
- @5
1572
-
1573
- D=D-A
1574
-
1575
- @ARG
1576
-
1577
- M=D
1578
-
1579
- @SP
1580
-
1581
- D=M
1582
-
1583
- @LCL
1584
-
1585
- M=D
1586
-
1587
- @Main.fibonacci
1588
-
1589
- 0;JMP
1590
-
1591
- (@RETURN_ADDRESS.2)
1592
-
1593
- @0
1594
-
1595
- D=A
1596
-
1597
- @ARG
1598
-
1599
- M=M+D
1600
-
1601
- A=M
1602
-
1603
- D=M
1604
-
1605
- @SP
1606
-
1607
- A=M
1608
-
1609
- M=D
1610
-
1611
- @SP
1612
-
1613
- M=M+1
1614
-
1615
- @0
1616
-
1617
- D=A
1618
-
1619
- @ARG
1620
-
1621
- M=M-D
1622
-
1623
- @1
1624
-
1625
- D=A
1626
-
1627
- @SP
1628
-
1629
- A=M
1630
-
1631
- M=D
1632
-
1633
- @SP
1634
-
1635
- M=M+1
1636
-
1637
- @SP
1638
-
1639
- AM=M-1
1640
-
1641
- D=M
1642
-
1643
- @SP
1644
-
1645
- AM=M-1
1646
-
1647
- M=M-D
1648
-
1649
- @SP
1650
-
1651
- M=M+1
1652
-
1653
- @RETURN_ADDRESS.3
1654
-
1655
- D=A
1656
-
1657
- @SP
1658
-
1659
- A=M
1660
-
1661
- M=D
1662
-
1663
- @SP
1664
-
1665
- M=M+1
1666
-
1667
- @@RETURN_ADDRESS.3
1668
-
1669
- D=M
1670
-
1671
- @SP
1672
-
1673
- A=M
1674
-
1675
- M=D
1676
-
1677
- @SP
1678
-
1679
- M=M+1
1680
-
1681
- @LCL
1682
-
1683
- D=M
1684
-
1685
- @SP
1686
-
1687
- A=M
1688
-
1689
- M=D
1690
-
1691
- @SP
1692
-
1693
- M=M+1
1694
-
1695
- @ARG
1696
-
1697
- D=M
1698
-
1699
- @SP
1700
-
1701
- A=M
1702
-
1703
- M=D
1704
-
1705
- @SP
1706
-
1707
- M=M+1
1708
-
1709
- @THIS
1710
-
1711
- D=M
1712
-
1713
- @SP
1714
-
1715
- A=M
1716
-
1717
- M=D
1718
-
1719
- @SP
1720
-
1721
- M=M+1
1722
-
1723
- @THAT
1724
-
1725
- D=M
1726
-
1727
- @SP
1728
-
1729
- A=M
1730
-
1731
- M=D
1732
-
1733
- @SP
1734
-
1735
- M=M+1
1736
-
1737
- @SP
1738
-
1739
- D=M
1740
-
1741
- @1
1742
-
1743
- D=D-A
1744
-
1745
- @5
1746
-
1747
- D=D-A
1748
-
1749
- @ARG
1750
-
1751
- M=D
1752
-
1753
- @SP
1754
-
1755
- D=M
1756
-
1757
- @LCL
1758
-
1759
- M=D
1760
-
1761
- @Main.fibonacci
1762
-
1763
- 0;JMP
1764
-
1765
- (@RETURN_ADDRESS.3)
1766
-
1767
- @SP
1768
-
1769
- AM=M-1
1770
-
1771
- D=M
1772
-
1773
- @SP
1774
-
1775
- AM=M-1
1776
-
1777
- M=M+D
1778
-
1779
- @SP
1780
-
1781
- M=M+1
1782
-
1783
- @LCL
1784
-
1785
- D=M
1786
-
1787
- @R13
1788
-
1789
- M=D
1790
-
1791
- @5
1792
-
1793
- D=A
1794
-
1795
- @R13
1796
-
1797
- A=M-D
1798
-
1799
- D=M
1800
-
1801
- @R14
1802
-
1803
- M=D
1804
-
1805
- @SP
1806
-
1807
- AM=M-1
1808
-
1809
- D=M
1810
-
1811
- @ARG
1812
-
1813
- A=M
1814
-
1815
- M=D
1816
-
1817
- @ARG
1818
-
1819
- D=M+1
1820
-
1821
- @SP
1822
-
1823
- M=D
1824
-
1825
- @1
1826
-
1827
- D=A
1828
-
1829
- @R13
1830
-
1831
- A=M-D
1832
-
1833
- D=M
1834
-
1835
- @THAT
1836
-
1837
- M=D
1838
-
1839
- @2
1840
-
1841
- D=A
1842
-
1843
- @R13
1844
-
1845
- A=M-D
1846
-
1847
- D=M
1848
-
1849
- @THIS
1850
-
1851
- M=D
1852
-
1853
- @3
1854
-
1855
- D=A
1856
-
1857
- @R13
1858
-
1859
- A=M-D
1860
-
1861
- D=M
1862
-
1863
- @ARG
1864
-
1865
- M=D
1866
-
1867
- @4
1868
-
1869
- D=A
1870
-
1871
- @R13
1872
-
1873
- A=M-D
1874
-
1875
- D=M
1876
-
1877
- @LCL
1878
-
1879
- M=D
1880
-
1881
- @R14
1882
-
1883
- A=M
1884
-
1885
- 0;JMP
1886
-
1887
- (Sys.init)
1888
-
1889
- @4
1890
-
1891
- D=A
1892
-
1893
- @SP
1894
-
1895
- A=M
1896
-
1897
- M=D
1898
-
1899
- @SP
1900
-
1901
- M=M+1
1902
-
1903
- @RETURN_ADDRESS.1
1904
-
1905
- D=A
1906
-
1907
- @SP
1908
-
1909
- A=M
1910
-
1911
- M=D
1912
-
1913
- @SP
1914
-
1915
- M=M+1
1916
-
1917
- @@RETURN_ADDRESS.1
1918
-
1919
- D=M
1920
-
1921
- @SP
1922
-
1923
- A=M
1924
-
1925
- M=D
1926
-
1927
- @SP
1928
-
1929
- M=M+1
1930
-
1931
- @LCL
1932
-
1933
- D=M
1934
-
1935
- @SP
1936
-
1937
- A=M
1938
-
1939
- M=D
1940
-
1941
- @SP
1942
-
1943
- M=M+1
1944
-
1945
- @ARG
1946
-
1947
- D=M
1948
-
1949
- @SP
1950
-
1951
- A=M
1952
-
1953
- M=D
1954
-
1955
- @SP
1956
-
1957
- M=M+1
1958
-
1959
- @THIS
1960
-
1961
- D=M
1962
-
1963
- @SP
1964
-
1965
- A=M
1966
-
1967
- M=D
1968
-
1969
- @SP
1970
-
1971
- M=M+1
1972
-
1973
- @THAT
1974
-
1975
- D=M
1976
-
1977
- @SP
1978
-
1979
- A=M
1980
-
1981
- M=D
1982
-
1983
- @SP
1984
-
1985
- M=M+1
1986
-
1987
- @SP
1988
-
1989
- D=M
1990
-
1991
- @1
1992
-
1993
- D=D-A
1994
-
1995
- @5
1996
-
1997
- D=D-A
1998
-
1999
- @ARG
2000
-
2001
- M=D
2002
-
2003
- @SP
2004
-
2005
- D=M
2006
-
2007
- @LCL
2008
-
2009
- M=D
2010
-
2011
- @Main.fibonacci
2012
-
2013
- 0;JMP
2014
-
2015
- (@RETURN_ADDRESS.1)
2016
-
2017
- (@Main.fibonacci$WHILE)
2018
-
2019
- @Main.fibonacci$WHILE
2020
-
2021
- 0;JMP
2022
-
2023
-
2024
-
2025
1003
 
2026
1004
 
2027
1005
  ```

2

typo

2020/04/17 18:11

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1056,6 +1056,972 @@
1056
1056
 
1057
1057
  0;JMP
1058
1058
 
1059
+ @256
1060
+
1061
+ D=A
1062
+
1063
+ @SP
1064
+
1065
+ M=D
1066
+
1067
+ @RETURN_ADDRESS.1
1068
+
1069
+ D=A
1070
+
1071
+ @SP
1072
+
1073
+ A=M
1074
+
1075
+ M=D
1076
+
1077
+ @SP
1078
+
1079
+ M=M+1
1080
+
1081
+ @@RETURN_ADDRESS.1
1082
+
1083
+ D=M
1084
+
1085
+ @SP
1086
+
1087
+ A=M
1088
+
1089
+ M=D
1090
+
1091
+ @SP
1092
+
1093
+ M=M+1
1094
+
1095
+ @LCL
1096
+
1097
+ D=M
1098
+
1099
+ @SP
1100
+
1101
+ A=M
1102
+
1103
+ M=D
1104
+
1105
+ @SP
1106
+
1107
+ M=M+1
1108
+
1109
+ @ARG
1110
+
1111
+ D=M
1112
+
1113
+ @SP
1114
+
1115
+ A=M
1116
+
1117
+ M=D
1118
+
1119
+ @SP
1120
+
1121
+ M=M+1
1122
+
1123
+ @THIS
1124
+
1125
+ D=M
1126
+
1127
+ @SP
1128
+
1129
+ A=M
1130
+
1131
+ M=D
1132
+
1133
+ @SP
1134
+
1135
+ M=M+1
1136
+
1137
+ @THAT
1138
+
1139
+ D=M
1140
+
1141
+ @SP
1142
+
1143
+ A=M
1144
+
1145
+ M=D
1146
+
1147
+ @SP
1148
+
1149
+ M=M+1
1150
+
1151
+ @SP
1152
+
1153
+ D=M
1154
+
1155
+ @0
1156
+
1157
+ D=D-A
1158
+
1159
+ @5
1160
+
1161
+ D=D-A
1162
+
1163
+ @ARG
1164
+
1165
+ M=D
1166
+
1167
+ @SP
1168
+
1169
+ D=M
1170
+
1171
+ @LCL
1172
+
1173
+ M=D
1174
+
1175
+ @Sys.init
1176
+
1177
+ 0;JMP
1178
+
1179
+ (@RETURN_ADDRESS.1)
1180
+
1181
+ (Main.fibonacci)
1182
+
1183
+ @0
1184
+
1185
+ D=A
1186
+
1187
+ @ARG
1188
+
1189
+ M=M+D
1190
+
1191
+ A=M
1192
+
1193
+ D=M
1194
+
1195
+ @SP
1196
+
1197
+ A=M
1198
+
1199
+ M=D
1200
+
1201
+ @SP
1202
+
1203
+ M=M+1
1204
+
1205
+ @0
1206
+
1207
+ D=A
1208
+
1209
+ @ARG
1210
+
1211
+ M=M-D
1212
+
1213
+ @2
1214
+
1215
+ D=A
1216
+
1217
+ @SP
1218
+
1219
+ A=M
1220
+
1221
+ M=D
1222
+
1223
+ @SP
1224
+
1225
+ M=M+1
1226
+
1227
+ @SP
1228
+
1229
+ AM=M-1
1230
+
1231
+ D=M
1232
+
1233
+ @SP
1234
+
1235
+ AM=M-1
1236
+
1237
+ D=M-D
1238
+
1239
+ @FALSE_Label.1
1240
+
1241
+ D;JLT
1242
+
1243
+ @SP
1244
+
1245
+ A=M
1246
+
1247
+ M=0
1248
+
1249
+ @END_Label.1
1250
+
1251
+ 0;JMP
1252
+
1253
+ (FALSE_Label.1)
1254
+
1255
+ @SP
1256
+
1257
+ A=M
1258
+
1259
+ M=-1
1260
+
1261
+ (END_Label.1)
1262
+
1263
+ @SP
1264
+
1265
+ M=M+1
1266
+
1267
+ @SP
1268
+
1269
+ AM=M-1
1270
+
1271
+ D=M
1272
+
1273
+ @Main.fibonacci$IF_TRUE
1274
+
1275
+ D;JNE
1276
+
1277
+ @Main.fibonacci$IF_FALSE
1278
+
1279
+ 0;JMP
1280
+
1281
+ (@Main.fibonacci$IF_TRUE)
1282
+
1283
+ @0
1284
+
1285
+ D=A
1286
+
1287
+ @ARG
1288
+
1289
+ M=M+D
1290
+
1291
+ A=M
1292
+
1293
+ D=M
1294
+
1295
+ @SP
1296
+
1297
+ A=M
1298
+
1299
+ M=D
1300
+
1301
+ @SP
1302
+
1303
+ M=M+1
1304
+
1305
+ @0
1306
+
1307
+ D=A
1308
+
1309
+ @ARG
1310
+
1311
+ M=M-D
1312
+
1313
+ @LCL
1314
+
1315
+ D=M
1316
+
1317
+ @R13
1318
+
1319
+ M=D
1320
+
1321
+ @5
1322
+
1323
+ D=A
1324
+
1325
+ @R13
1326
+
1327
+ A=M-D
1328
+
1329
+ D=M
1330
+
1331
+ @R14
1332
+
1333
+ M=D
1334
+
1335
+ @SP
1336
+
1337
+ AM=M-1
1338
+
1339
+ D=M
1340
+
1341
+ @ARG
1342
+
1343
+ A=M
1344
+
1345
+ M=D
1346
+
1347
+ @ARG
1348
+
1349
+ D=M+1
1350
+
1351
+ @SP
1352
+
1353
+ M=D
1354
+
1355
+ @1
1356
+
1357
+ D=A
1358
+
1359
+ @R13
1360
+
1361
+ A=M-D
1362
+
1363
+ D=M
1364
+
1365
+ @THAT
1366
+
1367
+ M=D
1368
+
1369
+ @2
1370
+
1371
+ D=A
1372
+
1373
+ @R13
1374
+
1375
+ A=M-D
1376
+
1377
+ D=M
1378
+
1379
+ @THIS
1380
+
1381
+ M=D
1382
+
1383
+ @3
1384
+
1385
+ D=A
1386
+
1387
+ @R13
1388
+
1389
+ A=M-D
1390
+
1391
+ D=M
1392
+
1393
+ @ARG
1394
+
1395
+ M=D
1396
+
1397
+ @4
1398
+
1399
+ D=A
1400
+
1401
+ @R13
1402
+
1403
+ A=M-D
1404
+
1405
+ D=M
1406
+
1407
+ @LCL
1408
+
1409
+ M=D
1410
+
1411
+ @R14
1412
+
1413
+ A=M
1414
+
1415
+ 0;JMP
1416
+
1417
+ (@Main.fibonacci$IF_FALSE)
1418
+
1419
+ @0
1420
+
1421
+ D=A
1422
+
1423
+ @ARG
1424
+
1425
+ M=M+D
1426
+
1427
+ A=M
1428
+
1429
+ D=M
1430
+
1431
+ @SP
1432
+
1433
+ A=M
1434
+
1435
+ M=D
1436
+
1437
+ @SP
1438
+
1439
+ M=M+1
1440
+
1441
+ @0
1442
+
1443
+ D=A
1444
+
1445
+ @ARG
1446
+
1447
+ M=M-D
1448
+
1449
+ @2
1450
+
1451
+ D=A
1452
+
1453
+ @SP
1454
+
1455
+ A=M
1456
+
1457
+ M=D
1458
+
1459
+ @SP
1460
+
1461
+ M=M+1
1462
+
1463
+ @SP
1464
+
1465
+ AM=M-1
1466
+
1467
+ D=M
1468
+
1469
+ @SP
1470
+
1471
+ AM=M-1
1472
+
1473
+ M=M-D
1474
+
1475
+ @SP
1476
+
1477
+ M=M+1
1478
+
1479
+ @RETURN_ADDRESS.2
1480
+
1481
+ D=A
1482
+
1483
+ @SP
1484
+
1485
+ A=M
1486
+
1487
+ M=D
1488
+
1489
+ @SP
1490
+
1491
+ M=M+1
1492
+
1493
+ @@RETURN_ADDRESS.2
1494
+
1495
+ D=M
1496
+
1497
+ @SP
1498
+
1499
+ A=M
1500
+
1501
+ M=D
1502
+
1503
+ @SP
1504
+
1505
+ M=M+1
1506
+
1507
+ @LCL
1508
+
1509
+ D=M
1510
+
1511
+ @SP
1512
+
1513
+ A=M
1514
+
1515
+ M=D
1516
+
1517
+ @SP
1518
+
1519
+ M=M+1
1520
+
1521
+ @ARG
1522
+
1523
+ D=M
1524
+
1525
+ @SP
1526
+
1527
+ A=M
1528
+
1529
+ M=D
1530
+
1531
+ @SP
1532
+
1533
+ M=M+1
1534
+
1535
+ @THIS
1536
+
1537
+ D=M
1538
+
1539
+ @SP
1540
+
1541
+ A=M
1542
+
1543
+ M=D
1544
+
1545
+ @SP
1546
+
1547
+ M=M+1
1548
+
1549
+ @THAT
1550
+
1551
+ D=M
1552
+
1553
+ @SP
1554
+
1555
+ A=M
1556
+
1557
+ M=D
1558
+
1559
+ @SP
1560
+
1561
+ M=M+1
1562
+
1563
+ @SP
1564
+
1565
+ D=M
1566
+
1567
+ @1
1568
+
1569
+ D=D-A
1570
+
1571
+ @5
1572
+
1573
+ D=D-A
1574
+
1575
+ @ARG
1576
+
1577
+ M=D
1578
+
1579
+ @SP
1580
+
1581
+ D=M
1582
+
1583
+ @LCL
1584
+
1585
+ M=D
1586
+
1587
+ @Main.fibonacci
1588
+
1589
+ 0;JMP
1590
+
1591
+ (@RETURN_ADDRESS.2)
1592
+
1593
+ @0
1594
+
1595
+ D=A
1596
+
1597
+ @ARG
1598
+
1599
+ M=M+D
1600
+
1601
+ A=M
1602
+
1603
+ D=M
1604
+
1605
+ @SP
1606
+
1607
+ A=M
1608
+
1609
+ M=D
1610
+
1611
+ @SP
1612
+
1613
+ M=M+1
1614
+
1615
+ @0
1616
+
1617
+ D=A
1618
+
1619
+ @ARG
1620
+
1621
+ M=M-D
1622
+
1623
+ @1
1624
+
1625
+ D=A
1626
+
1627
+ @SP
1628
+
1629
+ A=M
1630
+
1631
+ M=D
1632
+
1633
+ @SP
1634
+
1635
+ M=M+1
1636
+
1637
+ @SP
1638
+
1639
+ AM=M-1
1640
+
1641
+ D=M
1642
+
1643
+ @SP
1644
+
1645
+ AM=M-1
1646
+
1647
+ M=M-D
1648
+
1649
+ @SP
1650
+
1651
+ M=M+1
1652
+
1653
+ @RETURN_ADDRESS.3
1654
+
1655
+ D=A
1656
+
1657
+ @SP
1658
+
1659
+ A=M
1660
+
1661
+ M=D
1662
+
1663
+ @SP
1664
+
1665
+ M=M+1
1666
+
1667
+ @@RETURN_ADDRESS.3
1668
+
1669
+ D=M
1670
+
1671
+ @SP
1672
+
1673
+ A=M
1674
+
1675
+ M=D
1676
+
1677
+ @SP
1678
+
1679
+ M=M+1
1680
+
1681
+ @LCL
1682
+
1683
+ D=M
1684
+
1685
+ @SP
1686
+
1687
+ A=M
1688
+
1689
+ M=D
1690
+
1691
+ @SP
1692
+
1693
+ M=M+1
1694
+
1695
+ @ARG
1696
+
1697
+ D=M
1698
+
1699
+ @SP
1700
+
1701
+ A=M
1702
+
1703
+ M=D
1704
+
1705
+ @SP
1706
+
1707
+ M=M+1
1708
+
1709
+ @THIS
1710
+
1711
+ D=M
1712
+
1713
+ @SP
1714
+
1715
+ A=M
1716
+
1717
+ M=D
1718
+
1719
+ @SP
1720
+
1721
+ M=M+1
1722
+
1723
+ @THAT
1724
+
1725
+ D=M
1726
+
1727
+ @SP
1728
+
1729
+ A=M
1730
+
1731
+ M=D
1732
+
1733
+ @SP
1734
+
1735
+ M=M+1
1736
+
1737
+ @SP
1738
+
1739
+ D=M
1740
+
1741
+ @1
1742
+
1743
+ D=D-A
1744
+
1745
+ @5
1746
+
1747
+ D=D-A
1748
+
1749
+ @ARG
1750
+
1751
+ M=D
1752
+
1753
+ @SP
1754
+
1755
+ D=M
1756
+
1757
+ @LCL
1758
+
1759
+ M=D
1760
+
1761
+ @Main.fibonacci
1762
+
1763
+ 0;JMP
1764
+
1765
+ (@RETURN_ADDRESS.3)
1766
+
1767
+ @SP
1768
+
1769
+ AM=M-1
1770
+
1771
+ D=M
1772
+
1773
+ @SP
1774
+
1775
+ AM=M-1
1776
+
1777
+ M=M+D
1778
+
1779
+ @SP
1780
+
1781
+ M=M+1
1782
+
1783
+ @LCL
1784
+
1785
+ D=M
1786
+
1787
+ @R13
1788
+
1789
+ M=D
1790
+
1791
+ @5
1792
+
1793
+ D=A
1794
+
1795
+ @R13
1796
+
1797
+ A=M-D
1798
+
1799
+ D=M
1800
+
1801
+ @R14
1802
+
1803
+ M=D
1804
+
1805
+ @SP
1806
+
1807
+ AM=M-1
1808
+
1809
+ D=M
1810
+
1811
+ @ARG
1812
+
1813
+ A=M
1814
+
1815
+ M=D
1816
+
1817
+ @ARG
1818
+
1819
+ D=M+1
1820
+
1821
+ @SP
1822
+
1823
+ M=D
1824
+
1825
+ @1
1826
+
1827
+ D=A
1828
+
1829
+ @R13
1830
+
1831
+ A=M-D
1832
+
1833
+ D=M
1834
+
1835
+ @THAT
1836
+
1837
+ M=D
1838
+
1839
+ @2
1840
+
1841
+ D=A
1842
+
1843
+ @R13
1844
+
1845
+ A=M-D
1846
+
1847
+ D=M
1848
+
1849
+ @THIS
1850
+
1851
+ M=D
1852
+
1853
+ @3
1854
+
1855
+ D=A
1856
+
1857
+ @R13
1858
+
1859
+ A=M-D
1860
+
1861
+ D=M
1862
+
1863
+ @ARG
1864
+
1865
+ M=D
1866
+
1867
+ @4
1868
+
1869
+ D=A
1870
+
1871
+ @R13
1872
+
1873
+ A=M-D
1874
+
1875
+ D=M
1876
+
1877
+ @LCL
1878
+
1879
+ M=D
1880
+
1881
+ @R14
1882
+
1883
+ A=M
1884
+
1885
+ 0;JMP
1886
+
1887
+ (Sys.init)
1888
+
1889
+ @4
1890
+
1891
+ D=A
1892
+
1893
+ @SP
1894
+
1895
+ A=M
1896
+
1897
+ M=D
1898
+
1899
+ @SP
1900
+
1901
+ M=M+1
1902
+
1903
+ @RETURN_ADDRESS.1
1904
+
1905
+ D=A
1906
+
1907
+ @SP
1908
+
1909
+ A=M
1910
+
1911
+ M=D
1912
+
1913
+ @SP
1914
+
1915
+ M=M+1
1916
+
1917
+ @@RETURN_ADDRESS.1
1918
+
1919
+ D=M
1920
+
1921
+ @SP
1922
+
1923
+ A=M
1924
+
1925
+ M=D
1926
+
1927
+ @SP
1928
+
1929
+ M=M+1
1930
+
1931
+ @LCL
1932
+
1933
+ D=M
1934
+
1935
+ @SP
1936
+
1937
+ A=M
1938
+
1939
+ M=D
1940
+
1941
+ @SP
1942
+
1943
+ M=M+1
1944
+
1945
+ @ARG
1946
+
1947
+ D=M
1948
+
1949
+ @SP
1950
+
1951
+ A=M
1952
+
1953
+ M=D
1954
+
1955
+ @SP
1956
+
1957
+ M=M+1
1958
+
1959
+ @THIS
1960
+
1961
+ D=M
1962
+
1963
+ @SP
1964
+
1965
+ A=M
1966
+
1967
+ M=D
1968
+
1969
+ @SP
1970
+
1971
+ M=M+1
1972
+
1973
+ @THAT
1974
+
1975
+ D=M
1976
+
1977
+ @SP
1978
+
1979
+ A=M
1980
+
1981
+ M=D
1982
+
1983
+ @SP
1984
+
1985
+ M=M+1
1986
+
1987
+ @SP
1988
+
1989
+ D=M
1990
+
1991
+ @1
1992
+
1993
+ D=D-A
1994
+
1995
+ @5
1996
+
1997
+ D=D-A
1998
+
1999
+ @ARG
2000
+
2001
+ M=D
2002
+
2003
+ @SP
2004
+
2005
+ D=M
2006
+
2007
+ @LCL
2008
+
2009
+ M=D
2010
+
2011
+ @Main.fibonacci
2012
+
2013
+ 0;JMP
2014
+
2015
+ (@RETURN_ADDRESS.1)
2016
+
2017
+ (@Main.fibonacci$WHILE)
2018
+
2019
+ @Main.fibonacci$WHILE
2020
+
2021
+ 0;JMP
2022
+
2023
+
2024
+
1059
2025
 
1060
2026
 
1061
2027
  ```

1

リンクを追加

2020/04/17 18:05

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- O'REILLYのコンピュータシステムの理論と実装を学習中です。
5
+ [O'REILLYのコンピュータシステムの理論と実装](https://www.nand2tetris.org/)を学習中です。
6
6
 
7
7
  現在8章で、複数ファイルからなるVMコマンドをひとつのアセンブラのファイルとして出力しようとしています。
8
8
 
@@ -10,7 +10,7 @@
10
10
 
11
11
  ### 発生している問題・エラーメッセージ
12
12
 
13
- VMコマンドをアセンブラに出力し、提供されているCPUEmulatorでテストしようとしましたが、以下の画像のようにエラーが返ってきました。
13
+ VMコマンドをアセンブラに出力し、提供されている[CPUEmulator](https://www.nand2tetris.org/software)でテストしようとしましたが、以下の画像のようにエラーが返ってきました。
14
14
 
15
15
  ![イメージ説明](74e4cebd39839acf2764edfae57cdc51.png)
16
16