From 74cc571eefb50103eb1f37335b2e87d952ebc73d Mon Sep 17 00:00:00 2001 From: Timon Date: Mon, 1 Dec 2025 13:37:24 +0100 Subject: [PATCH] =?UTF-8?q?Popravil=20fileDevice.cpp=20tako=20da=20dejansk?= =?UTF-8?q?o=20naredi=20datoteke,=20=C4=8De=20=C5=A1e=20ne=20obstajajo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 +- ass2/fileDevice.cpp | 23 -------- ass2/files/file10.dat | 0 ass2/files/file100.dat | 0 ass2/files/file101.dat | 0 ass2/files/file102.dat | 0 ass2/files/file103.dat | 0 ass2/files/file104.dat | 0 ass2/files/file105.dat | 0 ass2/files/file106.dat | 0 ass2/files/file107.dat | 0 ass2/files/file108.dat | 0 ass2/files/file109.dat | 0 ass2/files/file11.dat | 0 ass2/files/file110.dat | 0 ass2/files/file111.dat | 0 ass2/files/file112.dat | 0 ass2/files/file113.dat | 0 ass2/files/file114.dat | 0 ass2/files/file115.dat | 0 ass2/files/file116.dat | 0 ass2/files/file117.dat | 0 ass2/files/file118.dat | 0 ass2/files/file119.dat | 0 ass2/files/file12.dat | 0 ass2/files/file120.dat | 0 ass2/files/file121.dat | 0 ass2/files/file122.dat | 0 ass2/files/file123.dat | 0 ass2/files/file124.dat | 0 ass2/files/file125.dat | 0 ass2/files/file126.dat | 0 ass2/files/file127.dat | 0 ass2/files/file128.dat | 0 ass2/files/file129.dat | 0 ass2/files/file13.dat | 0 ass2/files/file130.dat | 0 ass2/files/file131.dat | 0 ass2/files/file132.dat | 0 ass2/files/file133.dat | 0 ass2/files/file134.dat | 0 ass2/files/file135.dat | 0 ass2/files/file136.dat | 0 ass2/files/file137.dat | 0 ass2/files/file138.dat | 0 ass2/files/file139.dat | 0 ass2/files/file14.dat | 0 ass2/files/file140.dat | 0 ass2/files/file141.dat | 0 ass2/files/file142.dat | 0 ass2/files/file143.dat | 0 ass2/files/file144.dat | 0 ass2/files/file145.dat | 0 ass2/files/file146.dat | 0 ass2/files/file147.dat | 0 ass2/files/file148.dat | 0 ass2/files/file149.dat | 0 ass2/files/file15.dat | 0 ass2/files/file150.dat | 0 ass2/files/file151.dat | 0 ass2/files/file152.dat | 0 ass2/files/file153.dat | 0 ass2/files/file154.dat | 0 ass2/files/file155.dat | 0 ass2/files/file156.dat | 0 ass2/files/file157.dat | 0 ass2/files/file158.dat | 0 ass2/files/file159.dat | 0 ass2/files/file16.dat | 0 ass2/files/file160.dat | 0 ass2/files/file161.dat | 0 ass2/files/file162.dat | 0 ass2/files/file163.dat | 0 ass2/files/file164.dat | 0 ass2/files/file165.dat | 0 ass2/files/file166.dat | 0 ass2/files/file167.dat | 0 ass2/files/file168.dat | 0 ass2/files/file169.dat | 0 ass2/files/file17.dat | 0 ass2/files/file170.dat | 0 ass2/files/file171.dat | 0 ass2/files/file172.dat | 0 ass2/files/file173.dat | 0 ass2/files/file174.dat | 0 ass2/files/file175.dat | 0 ass2/files/file176.dat | 0 ass2/files/file177.dat | 0 ass2/files/file178.dat | 0 ass2/files/file179.dat | 0 ass2/files/file18.dat | 0 ass2/files/file180.dat | 0 ass2/files/file181.dat | 0 ass2/files/file182.dat | 0 ass2/files/file183.dat | 0 ass2/files/file184.dat | 0 ass2/files/file185.dat | 0 ass2/files/file186.dat | 0 ass2/files/file187.dat | 0 ass2/files/file188.dat | 0 ass2/files/file189.dat | 0 ass2/files/file19.dat | 0 ass2/files/file190.dat | 0 ass2/files/file191.dat | 0 ass2/files/file192.dat | 0 ass2/files/file193.dat | 0 ass2/files/file194.dat | 0 ass2/files/file195.dat | 0 ass2/files/file196.dat | 0 ass2/files/file197.dat | 0 ass2/files/file198.dat | 0 ass2/files/file199.dat | 0 ass2/files/file20.dat | 0 ass2/files/file200.dat | 0 ass2/files/file201.dat | 0 ass2/files/file202.dat | 0 ass2/files/file203.dat | 0 ass2/files/file204.dat | 0 ass2/files/file205.dat | 0 ass2/files/file206.dat | 0 ass2/files/file207.dat | 0 ass2/files/file208.dat | 0 ass2/files/file209.dat | 0 ass2/files/file21.dat | 0 ass2/files/file210.dat | 0 ass2/files/file211.dat | 0 ass2/files/file212.dat | 0 ass2/files/file213.dat | 0 ass2/files/file214.dat | 0 ass2/files/file215.dat | 0 ass2/files/file216.dat | 0 ass2/files/file217.dat | 0 ass2/files/file218.dat | 0 ass2/files/file219.dat | 0 ass2/files/file22.dat | 0 ass2/files/file220.dat | 0 ass2/files/file221.dat | 0 ass2/files/file222.dat | 0 ass2/files/file223.dat | 0 ass2/files/file224.dat | 0 ass2/files/file225.dat | 0 ass2/files/file226.dat | 0 ass2/files/file227.dat | 0 ass2/files/file228.dat | 0 ass2/files/file229.dat | 0 ass2/files/file23.dat | 0 ass2/files/file230.dat | 0 ass2/files/file231.dat | 0 ass2/files/file232.dat | 0 ass2/files/file233.dat | 0 ass2/files/file234.dat | 0 ass2/files/file235.dat | 0 ass2/files/file236.dat | 0 ass2/files/file237.dat | 0 ass2/files/file238.dat | 0 ass2/files/file239.dat | 0 ass2/files/file24.dat | 0 ass2/files/file240.dat | 0 ass2/files/file241.dat | 0 ass2/files/file242.dat | 0 ass2/files/file243.dat | 0 ass2/files/file244.dat | 0 ass2/files/file245.dat | 0 ass2/files/file246.dat | 0 ass2/files/file247.dat | 0 ass2/files/file248.dat | 0 ass2/files/file249.dat | 0 ass2/files/file25.dat | 0 ass2/files/file250.dat | 0 ass2/files/file251.dat | 0 ass2/files/file252.dat | 0 ass2/files/file253.dat | 0 ass2/files/file254.dat | 0 ass2/files/file255.dat | 0 ass2/files/file26.dat | 0 ass2/files/file27.dat | 0 ass2/files/file28.dat | 0 ass2/files/file29.dat | 0 ass2/files/file3.dat | 0 ass2/files/file30.dat | 0 ass2/files/file31.dat | 0 ass2/files/file32.dat | 0 ass2/files/file33.dat | 0 ass2/files/file34.dat | 0 ass2/files/file35.dat | 0 ass2/files/file36.dat | 0 ass2/files/file37.dat | 0 ass2/files/file38.dat | 0 ass2/files/file39.dat | 0 ass2/files/file4.dat | 0 ass2/files/file40.dat | 0 ass2/files/file41.dat | 0 ass2/files/file42.dat | 0 ass2/files/file43.dat | 0 ass2/files/file44.dat | 0 ass2/files/file45.dat | 0 ass2/files/file46.dat | 0 ass2/files/file47.dat | 0 ass2/files/file48.dat | 0 ass2/files/file49.dat | 0 ass2/files/file5.dat | 0 ass2/files/file50.dat | 0 ass2/files/file51.dat | 0 ass2/files/file52.dat | 0 ass2/files/file53.dat | 0 ass2/files/file54.dat | 0 ass2/files/file55.dat | 0 ass2/files/file56.dat | 0 ass2/files/file57.dat | 0 ass2/files/file58.dat | 0 ass2/files/file59.dat | 0 ass2/files/file6.dat | 0 ass2/files/file60.dat | 0 ass2/files/file61.dat | 0 ass2/files/file62.dat | 0 ass2/files/file63.dat | 0 ass2/files/file64.dat | 0 ass2/files/file65.dat | 0 ass2/files/file66.dat | 0 ass2/files/file67.dat | 0 ass2/files/file68.dat | 0 ass2/files/file69.dat | 0 ass2/files/file7.dat | 0 ass2/files/file70.dat | 0 ass2/files/file71.dat | 0 ass2/files/file72.dat | 0 ass2/files/file73.dat | 0 ass2/files/file74.dat | 0 ass2/files/file75.dat | 0 ass2/files/file76.dat | 0 ass2/files/file77.dat | 0 ass2/files/file78.dat | 0 ass2/files/file79.dat | 0 ass2/files/file8.dat | 0 ass2/files/file80.dat | 0 ass2/files/file81.dat | 0 ass2/files/file82.dat | 0 ass2/files/file83.dat | 0 ass2/files/file84.dat | 0 ass2/files/file85.dat | 0 ass2/files/file86.dat | 0 ass2/files/file87.dat | 0 ass2/files/file88.dat | 0 ass2/files/file89.dat | 0 ass2/files/file9.dat | 0 ass2/files/file90.dat | 0 ass2/files/file91.dat | 0 ass2/files/file92.dat | 0 ass2/files/file93.dat | 0 ass2/files/file94.dat | 0 ass2/files/file95.dat | 0 ass2/files/file96.dat | 0 ass2/files/file97.dat | 0 ass2/files/file98.dat | 0 ass2/files/file99.dat | 0 ass2/{ => headers}/cpu.h | 0 ass2/{ => headers}/device.h | 6 +- ass2/{ => headers}/fileDevice.h | 5 +- ass2/{ => headers}/inputDevice.h | 3 + ass2/{ => headers}/machine.h | 13 ++++- ass2/{ => headers}/opcode.h | 0 ass2/{ => headers}/outputDevice.h | 3 + ass2/{ => implementations}/cpu.cpp | 2 +- ass2/{ => implementations}/device.cpp | 3 +- ass2/implementations/fileDevice.cpp | 31 ++++++++++ ass2/{ => implementations}/inputDevice.cpp | 6 +- ass2/{ => implementations}/machine.cpp | 63 +++++++++++---------- ass2/{ => implementations}/opcode.cpp | 4 +- ass2/{ => implementations}/outputDevice.cpp | 8 ++- ass2/main.cpp | 4 +- 270 files changed, 104 insertions(+), 74 deletions(-) delete mode 100644 ass2/fileDevice.cpp create mode 100644 ass2/files/file10.dat create mode 100644 ass2/files/file100.dat create mode 100644 ass2/files/file101.dat create mode 100644 ass2/files/file102.dat create mode 100644 ass2/files/file103.dat create mode 100644 ass2/files/file104.dat create mode 100644 ass2/files/file105.dat create mode 100644 ass2/files/file106.dat create mode 100644 ass2/files/file107.dat create mode 100644 ass2/files/file108.dat create mode 100644 ass2/files/file109.dat create mode 100644 ass2/files/file11.dat create mode 100644 ass2/files/file110.dat create mode 100644 ass2/files/file111.dat create mode 100644 ass2/files/file112.dat create mode 100644 ass2/files/file113.dat create mode 100644 ass2/files/file114.dat create mode 100644 ass2/files/file115.dat create mode 100644 ass2/files/file116.dat create mode 100644 ass2/files/file117.dat create mode 100644 ass2/files/file118.dat create mode 100644 ass2/files/file119.dat create mode 100644 ass2/files/file12.dat create mode 100644 ass2/files/file120.dat create mode 100644 ass2/files/file121.dat create mode 100644 ass2/files/file122.dat create mode 100644 ass2/files/file123.dat create mode 100644 ass2/files/file124.dat create mode 100644 ass2/files/file125.dat create mode 100644 ass2/files/file126.dat create mode 100644 ass2/files/file127.dat create mode 100644 ass2/files/file128.dat create mode 100644 ass2/files/file129.dat create mode 100644 ass2/files/file13.dat create mode 100644 ass2/files/file130.dat create mode 100644 ass2/files/file131.dat create mode 100644 ass2/files/file132.dat create mode 100644 ass2/files/file133.dat create mode 100644 ass2/files/file134.dat create mode 100644 ass2/files/file135.dat create mode 100644 ass2/files/file136.dat create mode 100644 ass2/files/file137.dat create mode 100644 ass2/files/file138.dat create mode 100644 ass2/files/file139.dat create mode 100644 ass2/files/file14.dat create mode 100644 ass2/files/file140.dat create mode 100644 ass2/files/file141.dat create mode 100644 ass2/files/file142.dat create mode 100644 ass2/files/file143.dat create mode 100644 ass2/files/file144.dat create mode 100644 ass2/files/file145.dat create mode 100644 ass2/files/file146.dat create mode 100644 ass2/files/file147.dat create mode 100644 ass2/files/file148.dat create mode 100644 ass2/files/file149.dat create mode 100644 ass2/files/file15.dat create mode 100644 ass2/files/file150.dat create mode 100644 ass2/files/file151.dat create mode 100644 ass2/files/file152.dat create mode 100644 ass2/files/file153.dat create mode 100644 ass2/files/file154.dat create mode 100644 ass2/files/file155.dat create mode 100644 ass2/files/file156.dat create mode 100644 ass2/files/file157.dat create mode 100644 ass2/files/file158.dat create mode 100644 ass2/files/file159.dat create mode 100644 ass2/files/file16.dat create mode 100644 ass2/files/file160.dat create mode 100644 ass2/files/file161.dat create mode 100644 ass2/files/file162.dat create mode 100644 ass2/files/file163.dat create mode 100644 ass2/files/file164.dat create mode 100644 ass2/files/file165.dat create mode 100644 ass2/files/file166.dat create mode 100644 ass2/files/file167.dat create mode 100644 ass2/files/file168.dat create mode 100644 ass2/files/file169.dat create mode 100644 ass2/files/file17.dat create mode 100644 ass2/files/file170.dat create mode 100644 ass2/files/file171.dat create mode 100644 ass2/files/file172.dat create mode 100644 ass2/files/file173.dat create mode 100644 ass2/files/file174.dat create mode 100644 ass2/files/file175.dat create mode 100644 ass2/files/file176.dat create mode 100644 ass2/files/file177.dat create mode 100644 ass2/files/file178.dat create mode 100644 ass2/files/file179.dat create mode 100644 ass2/files/file18.dat create mode 100644 ass2/files/file180.dat create mode 100644 ass2/files/file181.dat create mode 100644 ass2/files/file182.dat create mode 100644 ass2/files/file183.dat create mode 100644 ass2/files/file184.dat create mode 100644 ass2/files/file185.dat create mode 100644 ass2/files/file186.dat create mode 100644 ass2/files/file187.dat create mode 100644 ass2/files/file188.dat create mode 100644 ass2/files/file189.dat create mode 100644 ass2/files/file19.dat create mode 100644 ass2/files/file190.dat create mode 100644 ass2/files/file191.dat create mode 100644 ass2/files/file192.dat create mode 100644 ass2/files/file193.dat create mode 100644 ass2/files/file194.dat create mode 100644 ass2/files/file195.dat create mode 100644 ass2/files/file196.dat create mode 100644 ass2/files/file197.dat create mode 100644 ass2/files/file198.dat create mode 100644 ass2/files/file199.dat create mode 100644 ass2/files/file20.dat create mode 100644 ass2/files/file200.dat create mode 100644 ass2/files/file201.dat create mode 100644 ass2/files/file202.dat create mode 100644 ass2/files/file203.dat create mode 100644 ass2/files/file204.dat create mode 100644 ass2/files/file205.dat create mode 100644 ass2/files/file206.dat create mode 100644 ass2/files/file207.dat create mode 100644 ass2/files/file208.dat create mode 100644 ass2/files/file209.dat create mode 100644 ass2/files/file21.dat create mode 100644 ass2/files/file210.dat create mode 100644 ass2/files/file211.dat create mode 100644 ass2/files/file212.dat create mode 100644 ass2/files/file213.dat create mode 100644 ass2/files/file214.dat create mode 100644 ass2/files/file215.dat create mode 100644 ass2/files/file216.dat create mode 100644 ass2/files/file217.dat create mode 100644 ass2/files/file218.dat create mode 100644 ass2/files/file219.dat create mode 100644 ass2/files/file22.dat create mode 100644 ass2/files/file220.dat create mode 100644 ass2/files/file221.dat create mode 100644 ass2/files/file222.dat create mode 100644 ass2/files/file223.dat create mode 100644 ass2/files/file224.dat create mode 100644 ass2/files/file225.dat create mode 100644 ass2/files/file226.dat create mode 100644 ass2/files/file227.dat create mode 100644 ass2/files/file228.dat create mode 100644 ass2/files/file229.dat create mode 100644 ass2/files/file23.dat create mode 100644 ass2/files/file230.dat create mode 100644 ass2/files/file231.dat create mode 100644 ass2/files/file232.dat create mode 100644 ass2/files/file233.dat create mode 100644 ass2/files/file234.dat create mode 100644 ass2/files/file235.dat create mode 100644 ass2/files/file236.dat create mode 100644 ass2/files/file237.dat create mode 100644 ass2/files/file238.dat create mode 100644 ass2/files/file239.dat create mode 100644 ass2/files/file24.dat create mode 100644 ass2/files/file240.dat create mode 100644 ass2/files/file241.dat create mode 100644 ass2/files/file242.dat create mode 100644 ass2/files/file243.dat create mode 100644 ass2/files/file244.dat create mode 100644 ass2/files/file245.dat create mode 100644 ass2/files/file246.dat create mode 100644 ass2/files/file247.dat create mode 100644 ass2/files/file248.dat create mode 100644 ass2/files/file249.dat create mode 100644 ass2/files/file25.dat create mode 100644 ass2/files/file250.dat create mode 100644 ass2/files/file251.dat create mode 100644 ass2/files/file252.dat create mode 100644 ass2/files/file253.dat create mode 100644 ass2/files/file254.dat create mode 100644 ass2/files/file255.dat create mode 100644 ass2/files/file26.dat create mode 100644 ass2/files/file27.dat create mode 100644 ass2/files/file28.dat create mode 100644 ass2/files/file29.dat create mode 100644 ass2/files/file3.dat create mode 100644 ass2/files/file30.dat create mode 100644 ass2/files/file31.dat create mode 100644 ass2/files/file32.dat create mode 100644 ass2/files/file33.dat create mode 100644 ass2/files/file34.dat create mode 100644 ass2/files/file35.dat create mode 100644 ass2/files/file36.dat create mode 100644 ass2/files/file37.dat create mode 100644 ass2/files/file38.dat create mode 100644 ass2/files/file39.dat create mode 100644 ass2/files/file4.dat create mode 100644 ass2/files/file40.dat create mode 100644 ass2/files/file41.dat create mode 100644 ass2/files/file42.dat create mode 100644 ass2/files/file43.dat create mode 100644 ass2/files/file44.dat create mode 100644 ass2/files/file45.dat create mode 100644 ass2/files/file46.dat create mode 100644 ass2/files/file47.dat create mode 100644 ass2/files/file48.dat create mode 100644 ass2/files/file49.dat create mode 100644 ass2/files/file5.dat create mode 100644 ass2/files/file50.dat create mode 100644 ass2/files/file51.dat create mode 100644 ass2/files/file52.dat create mode 100644 ass2/files/file53.dat create mode 100644 ass2/files/file54.dat create mode 100644 ass2/files/file55.dat create mode 100644 ass2/files/file56.dat create mode 100644 ass2/files/file57.dat create mode 100644 ass2/files/file58.dat create mode 100644 ass2/files/file59.dat create mode 100644 ass2/files/file6.dat create mode 100644 ass2/files/file60.dat create mode 100644 ass2/files/file61.dat create mode 100644 ass2/files/file62.dat create mode 100644 ass2/files/file63.dat create mode 100644 ass2/files/file64.dat create mode 100644 ass2/files/file65.dat create mode 100644 ass2/files/file66.dat create mode 100644 ass2/files/file67.dat create mode 100644 ass2/files/file68.dat create mode 100644 ass2/files/file69.dat create mode 100644 ass2/files/file7.dat create mode 100644 ass2/files/file70.dat create mode 100644 ass2/files/file71.dat create mode 100644 ass2/files/file72.dat create mode 100644 ass2/files/file73.dat create mode 100644 ass2/files/file74.dat create mode 100644 ass2/files/file75.dat create mode 100644 ass2/files/file76.dat create mode 100644 ass2/files/file77.dat create mode 100644 ass2/files/file78.dat create mode 100644 ass2/files/file79.dat create mode 100644 ass2/files/file8.dat create mode 100644 ass2/files/file80.dat create mode 100644 ass2/files/file81.dat create mode 100644 ass2/files/file82.dat create mode 100644 ass2/files/file83.dat create mode 100644 ass2/files/file84.dat create mode 100644 ass2/files/file85.dat create mode 100644 ass2/files/file86.dat create mode 100644 ass2/files/file87.dat create mode 100644 ass2/files/file88.dat create mode 100644 ass2/files/file89.dat create mode 100644 ass2/files/file9.dat create mode 100644 ass2/files/file90.dat create mode 100644 ass2/files/file91.dat create mode 100644 ass2/files/file92.dat create mode 100644 ass2/files/file93.dat create mode 100644 ass2/files/file94.dat create mode 100644 ass2/files/file95.dat create mode 100644 ass2/files/file96.dat create mode 100644 ass2/files/file97.dat create mode 100644 ass2/files/file98.dat create mode 100644 ass2/files/file99.dat rename ass2/{ => headers}/cpu.h (100%) rename ass2/{ => headers}/device.h (76%) rename ass2/{ => headers}/fileDevice.h (68%) rename ass2/{ => headers}/inputDevice.h (72%) rename ass2/{ => headers}/machine.h (90%) rename ass2/{ => headers}/opcode.h (100%) rename ass2/{ => headers}/outputDevice.h (76%) rename ass2/{ => implementations}/cpu.cpp (97%) rename ass2/{ => implementations}/device.cpp (76%) create mode 100644 ass2/implementations/fileDevice.cpp rename ass2/{ => implementations}/inputDevice.cpp (66%) rename ass2/{ => implementations}/machine.cpp (88%) rename ass2/{ => implementations}/opcode.cpp (94%) rename ass2/{ => implementations}/outputDevice.cpp (62%) diff --git a/.gitignore b/.gitignore index 04b92c0..2f678ad 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,6 @@ Primer/ sictools.jar #ignorej ukaze za sic/xe Appendix_A_thru_C.pdf -rek_sum.asm \ No newline at end of file +rek_sum.asm +ass2/.vscode +ass2/sic \ No newline at end of file diff --git a/ass2/fileDevice.cpp b/ass2/fileDevice.cpp deleted file mode 100644 index f57d90a..0000000 --- a/ass2/fileDevice.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include -#include -#include "fileDevice.h" -#include - -fileDevice::fileDevice(std::string& filename): file(filename, std::ios::in | std::ios::out | std::ios::binary) { - if (!file.is_open()) { - throw std::runtime_error("Datoteke ni mogoče odpreti: " + filename); - } -} - -uint8_t fileDevice::read() { - int c = file.get(); - if (c == EOF) { - return 0; - } - return static_cast(c); -} - -void fileDevice::write(uint8_t val) { - file.put(static_cast(val)); - file.flush(); -} diff --git a/ass2/files/file10.dat b/ass2/files/file10.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file100.dat b/ass2/files/file100.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file101.dat b/ass2/files/file101.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file102.dat b/ass2/files/file102.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file103.dat b/ass2/files/file103.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file104.dat b/ass2/files/file104.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file105.dat b/ass2/files/file105.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file106.dat b/ass2/files/file106.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file107.dat b/ass2/files/file107.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file108.dat b/ass2/files/file108.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file109.dat b/ass2/files/file109.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file11.dat b/ass2/files/file11.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file110.dat b/ass2/files/file110.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file111.dat b/ass2/files/file111.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file112.dat b/ass2/files/file112.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file113.dat b/ass2/files/file113.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file114.dat b/ass2/files/file114.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file115.dat b/ass2/files/file115.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file116.dat b/ass2/files/file116.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file117.dat b/ass2/files/file117.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file118.dat b/ass2/files/file118.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file119.dat b/ass2/files/file119.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file12.dat b/ass2/files/file12.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file120.dat b/ass2/files/file120.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file121.dat b/ass2/files/file121.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file122.dat b/ass2/files/file122.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file123.dat b/ass2/files/file123.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file124.dat b/ass2/files/file124.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file125.dat b/ass2/files/file125.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file126.dat b/ass2/files/file126.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file127.dat b/ass2/files/file127.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file128.dat b/ass2/files/file128.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file129.dat b/ass2/files/file129.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file13.dat b/ass2/files/file13.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file130.dat b/ass2/files/file130.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file131.dat b/ass2/files/file131.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file132.dat b/ass2/files/file132.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file133.dat b/ass2/files/file133.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file134.dat b/ass2/files/file134.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file135.dat b/ass2/files/file135.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file136.dat b/ass2/files/file136.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file137.dat b/ass2/files/file137.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file138.dat b/ass2/files/file138.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file139.dat b/ass2/files/file139.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file14.dat b/ass2/files/file14.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file140.dat b/ass2/files/file140.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file141.dat b/ass2/files/file141.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file142.dat b/ass2/files/file142.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file143.dat b/ass2/files/file143.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file144.dat b/ass2/files/file144.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file145.dat b/ass2/files/file145.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file146.dat b/ass2/files/file146.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file147.dat b/ass2/files/file147.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file148.dat b/ass2/files/file148.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file149.dat b/ass2/files/file149.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file15.dat b/ass2/files/file15.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file150.dat b/ass2/files/file150.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file151.dat b/ass2/files/file151.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file152.dat b/ass2/files/file152.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file153.dat b/ass2/files/file153.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file154.dat b/ass2/files/file154.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file155.dat b/ass2/files/file155.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file156.dat b/ass2/files/file156.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file157.dat b/ass2/files/file157.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file158.dat b/ass2/files/file158.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file159.dat b/ass2/files/file159.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file16.dat b/ass2/files/file16.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file160.dat b/ass2/files/file160.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file161.dat b/ass2/files/file161.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file162.dat b/ass2/files/file162.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file163.dat b/ass2/files/file163.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file164.dat b/ass2/files/file164.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file165.dat b/ass2/files/file165.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file166.dat b/ass2/files/file166.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file167.dat b/ass2/files/file167.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file168.dat b/ass2/files/file168.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file169.dat b/ass2/files/file169.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file17.dat b/ass2/files/file17.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file170.dat b/ass2/files/file170.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file171.dat b/ass2/files/file171.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file172.dat b/ass2/files/file172.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file173.dat b/ass2/files/file173.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file174.dat b/ass2/files/file174.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file175.dat b/ass2/files/file175.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file176.dat b/ass2/files/file176.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file177.dat b/ass2/files/file177.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file178.dat b/ass2/files/file178.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file179.dat b/ass2/files/file179.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file18.dat b/ass2/files/file18.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file180.dat b/ass2/files/file180.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file181.dat b/ass2/files/file181.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file182.dat b/ass2/files/file182.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file183.dat b/ass2/files/file183.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file184.dat b/ass2/files/file184.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file185.dat b/ass2/files/file185.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file186.dat b/ass2/files/file186.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file187.dat b/ass2/files/file187.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file188.dat b/ass2/files/file188.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file189.dat b/ass2/files/file189.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file19.dat b/ass2/files/file19.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file190.dat b/ass2/files/file190.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file191.dat b/ass2/files/file191.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file192.dat b/ass2/files/file192.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file193.dat b/ass2/files/file193.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file194.dat b/ass2/files/file194.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file195.dat b/ass2/files/file195.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file196.dat b/ass2/files/file196.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file197.dat b/ass2/files/file197.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file198.dat b/ass2/files/file198.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file199.dat b/ass2/files/file199.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file20.dat b/ass2/files/file20.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file200.dat b/ass2/files/file200.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file201.dat b/ass2/files/file201.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file202.dat b/ass2/files/file202.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file203.dat b/ass2/files/file203.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file204.dat b/ass2/files/file204.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file205.dat b/ass2/files/file205.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file206.dat b/ass2/files/file206.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file207.dat b/ass2/files/file207.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file208.dat b/ass2/files/file208.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file209.dat b/ass2/files/file209.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file21.dat b/ass2/files/file21.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file210.dat b/ass2/files/file210.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file211.dat b/ass2/files/file211.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file212.dat b/ass2/files/file212.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file213.dat b/ass2/files/file213.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file214.dat b/ass2/files/file214.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file215.dat b/ass2/files/file215.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file216.dat b/ass2/files/file216.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file217.dat b/ass2/files/file217.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file218.dat b/ass2/files/file218.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file219.dat b/ass2/files/file219.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file22.dat b/ass2/files/file22.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file220.dat b/ass2/files/file220.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file221.dat b/ass2/files/file221.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file222.dat b/ass2/files/file222.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file223.dat b/ass2/files/file223.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file224.dat b/ass2/files/file224.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file225.dat b/ass2/files/file225.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file226.dat b/ass2/files/file226.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file227.dat b/ass2/files/file227.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file228.dat b/ass2/files/file228.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file229.dat b/ass2/files/file229.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file23.dat b/ass2/files/file23.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file230.dat b/ass2/files/file230.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file231.dat b/ass2/files/file231.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file232.dat b/ass2/files/file232.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file233.dat b/ass2/files/file233.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file234.dat b/ass2/files/file234.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file235.dat b/ass2/files/file235.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file236.dat b/ass2/files/file236.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file237.dat b/ass2/files/file237.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file238.dat b/ass2/files/file238.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file239.dat b/ass2/files/file239.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file24.dat b/ass2/files/file24.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file240.dat b/ass2/files/file240.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file241.dat b/ass2/files/file241.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file242.dat b/ass2/files/file242.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file243.dat b/ass2/files/file243.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file244.dat b/ass2/files/file244.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file245.dat b/ass2/files/file245.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file246.dat b/ass2/files/file246.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file247.dat b/ass2/files/file247.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file248.dat b/ass2/files/file248.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file249.dat b/ass2/files/file249.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file25.dat b/ass2/files/file25.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file250.dat b/ass2/files/file250.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file251.dat b/ass2/files/file251.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file252.dat b/ass2/files/file252.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file253.dat b/ass2/files/file253.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file254.dat b/ass2/files/file254.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file255.dat b/ass2/files/file255.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file26.dat b/ass2/files/file26.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file27.dat b/ass2/files/file27.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file28.dat b/ass2/files/file28.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file29.dat b/ass2/files/file29.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file3.dat b/ass2/files/file3.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file30.dat b/ass2/files/file30.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file31.dat b/ass2/files/file31.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file32.dat b/ass2/files/file32.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file33.dat b/ass2/files/file33.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file34.dat b/ass2/files/file34.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file35.dat b/ass2/files/file35.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file36.dat b/ass2/files/file36.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file37.dat b/ass2/files/file37.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file38.dat b/ass2/files/file38.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file39.dat b/ass2/files/file39.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file4.dat b/ass2/files/file4.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file40.dat b/ass2/files/file40.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file41.dat b/ass2/files/file41.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file42.dat b/ass2/files/file42.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file43.dat b/ass2/files/file43.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file44.dat b/ass2/files/file44.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file45.dat b/ass2/files/file45.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file46.dat b/ass2/files/file46.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file47.dat b/ass2/files/file47.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file48.dat b/ass2/files/file48.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file49.dat b/ass2/files/file49.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file5.dat b/ass2/files/file5.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file50.dat b/ass2/files/file50.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file51.dat b/ass2/files/file51.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file52.dat b/ass2/files/file52.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file53.dat b/ass2/files/file53.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file54.dat b/ass2/files/file54.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file55.dat b/ass2/files/file55.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file56.dat b/ass2/files/file56.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file57.dat b/ass2/files/file57.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file58.dat b/ass2/files/file58.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file59.dat b/ass2/files/file59.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file6.dat b/ass2/files/file6.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file60.dat b/ass2/files/file60.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file61.dat b/ass2/files/file61.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file62.dat b/ass2/files/file62.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file63.dat b/ass2/files/file63.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file64.dat b/ass2/files/file64.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file65.dat b/ass2/files/file65.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file66.dat b/ass2/files/file66.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file67.dat b/ass2/files/file67.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file68.dat b/ass2/files/file68.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file69.dat b/ass2/files/file69.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file7.dat b/ass2/files/file7.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file70.dat b/ass2/files/file70.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file71.dat b/ass2/files/file71.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file72.dat b/ass2/files/file72.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file73.dat b/ass2/files/file73.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file74.dat b/ass2/files/file74.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file75.dat b/ass2/files/file75.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file76.dat b/ass2/files/file76.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file77.dat b/ass2/files/file77.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file78.dat b/ass2/files/file78.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file79.dat b/ass2/files/file79.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file8.dat b/ass2/files/file8.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file80.dat b/ass2/files/file80.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file81.dat b/ass2/files/file81.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file82.dat b/ass2/files/file82.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file83.dat b/ass2/files/file83.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file84.dat b/ass2/files/file84.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file85.dat b/ass2/files/file85.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file86.dat b/ass2/files/file86.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file87.dat b/ass2/files/file87.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file88.dat b/ass2/files/file88.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file89.dat b/ass2/files/file89.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file9.dat b/ass2/files/file9.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file90.dat b/ass2/files/file90.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file91.dat b/ass2/files/file91.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file92.dat b/ass2/files/file92.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file93.dat b/ass2/files/file93.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file94.dat b/ass2/files/file94.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file95.dat b/ass2/files/file95.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file96.dat b/ass2/files/file96.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file97.dat b/ass2/files/file97.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file98.dat b/ass2/files/file98.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/files/file99.dat b/ass2/files/file99.dat new file mode 100644 index 0000000..e69de29 diff --git a/ass2/cpu.h b/ass2/headers/cpu.h similarity index 100% rename from ass2/cpu.h rename to ass2/headers/cpu.h diff --git a/ass2/device.h b/ass2/headers/device.h similarity index 76% rename from ass2/device.h rename to ass2/headers/device.h index bc7ff58..464db42 100644 --- a/ass2/device.h +++ b/ass2/headers/device.h @@ -1,12 +1,12 @@ +#pragma once + #include #include class Device { public: - virtual ~Device()=default; + virtual ~Device() = default; virtual void write(uint8_t val); virtual uint8_t read(); virtual bool test(); -private: - }; diff --git a/ass2/fileDevice.h b/ass2/headers/fileDevice.h similarity index 68% rename from ass2/fileDevice.h rename to ass2/headers/fileDevice.h index f9ec3ba..a2e6515 100644 --- a/ass2/fileDevice.h +++ b/ass2/headers/fileDevice.h @@ -1,4 +1,4 @@ -#include +#pragma once #include #include "device.h" @@ -6,7 +6,8 @@ class fileDevice : public Device{ private: std::fstream file; public: - fileDevice(std::string& fileName); + fileDevice(const std::string& fileName); uint8_t read() override; void write(uint8_t val) override; + bool test() override; }; \ No newline at end of file diff --git a/ass2/inputDevice.h b/ass2/headers/inputDevice.h similarity index 72% rename from ass2/inputDevice.h rename to ass2/headers/inputDevice.h index 5e50858..21a4a68 100644 --- a/ass2/inputDevice.h +++ b/ass2/headers/inputDevice.h @@ -1,3 +1,4 @@ +#pragma once #include #include #include "device.h" @@ -5,7 +6,9 @@ class InputDevice : public Device { public: + void write(uint8_t value) override; uint8_t read() override; + bool test() override; InputDevice(std::istream& input); private: std::istream& in; diff --git a/ass2/machine.h b/ass2/headers/machine.h similarity index 90% rename from ass2/machine.h rename to ass2/headers/machine.h index d9211a5..3ae6e61 100644 --- a/ass2/machine.h +++ b/ass2/headers/machine.h @@ -7,8 +7,14 @@ #include #include #include - -class Device; +#include "machine.h" +#include "device.h" +#include "inputDevice.h" +#include "outputDevice.h" +#include "fileDevice.h" +#include "opcode.h" +#include +#include class machine { public: @@ -62,7 +68,8 @@ public: void setByte(int adr, int val); int getWord(int adr); void setWord(int adr, int val); - int getUN(int n, int x, int b, int p, int e, int operand); + int getUN(int n, int i, int x, int b, int p, int e, int operand); + // devices Device& getDevice(uint8_t dev); void setDevice(uint8_t num, std::unique_ptr dev); diff --git a/ass2/opcode.h b/ass2/headers/opcode.h similarity index 100% rename from ass2/opcode.h rename to ass2/headers/opcode.h diff --git a/ass2/outputDevice.h b/ass2/headers/outputDevice.h similarity index 76% rename from ass2/outputDevice.h rename to ass2/headers/outputDevice.h index 184e28c..1c3bfd9 100644 --- a/ass2/outputDevice.h +++ b/ass2/headers/outputDevice.h @@ -1,3 +1,4 @@ +#pragma once #include #include #include "device.h" @@ -9,5 +10,7 @@ class outputDevice : public Device { public: outputDevice(std::ostream& output); void write(uint8_t value) override; + uint8_t read() override; + bool test() override; }; diff --git a/ass2/cpu.cpp b/ass2/implementations/cpu.cpp similarity index 97% rename from ass2/cpu.cpp rename to ass2/implementations/cpu.cpp index a368cd4..7459bdc 100644 --- a/ass2/cpu.cpp +++ b/ass2/implementations/cpu.cpp @@ -1,4 +1,4 @@ -#include "cpu.h" +#include "../headers/cpu.h" void cpu::start() { if (running) return; diff --git a/ass2/device.cpp b/ass2/implementations/device.cpp similarity index 76% rename from ass2/device.cpp rename to ass2/implementations/device.cpp index b4357cf..6789349 100644 --- a/ass2/device.cpp +++ b/ass2/implementations/device.cpp @@ -1,5 +1,4 @@ -#include -#include "device.h" +#include "../headers/device.h" using namespace std; void Device::write(uint8_t val) {} diff --git a/ass2/implementations/fileDevice.cpp b/ass2/implementations/fileDevice.cpp new file mode 100644 index 0000000..b6790af --- /dev/null +++ b/ass2/implementations/fileDevice.cpp @@ -0,0 +1,31 @@ +#include "../headers/fileDevice.h" +#include + +fileDevice::fileDevice(const std::string& filename) { + file.open(filename, std::ios::in | std::ios::out | std::ios::binary); + if (!file.is_open()) { + std::ofstream create(filename, std::ios::binary); + create.close(); + file.open(filename, std::ios::in | std::ios::out | std::ios::binary); + } + + if (!file.is_open()) { + throw std::runtime_error("Datoteke ni mogoče odpreti: " + filename); + } +} + + +uint8_t fileDevice::read() { + int c = file.get(); + if (c == EOF) { + return 0; + } + return static_cast(c); +} + +void fileDevice::write(uint8_t val) { + file.put(static_cast(val)); + file.flush(); +} + +bool fileDevice::test() {return true;} diff --git a/ass2/inputDevice.cpp b/ass2/implementations/inputDevice.cpp similarity index 66% rename from ass2/inputDevice.cpp rename to ass2/implementations/inputDevice.cpp index e328df6..0fdb665 100644 --- a/ass2/inputDevice.cpp +++ b/ass2/implementations/inputDevice.cpp @@ -1,6 +1,4 @@ -#include -#include -#include "inputDevice.h" +#include "../headers/inputDevice.h" InputDevice::InputDevice(std::istream& input): in(input){}; //konstruktor @@ -10,3 +8,5 @@ uint8_t InputDevice::read() { //metoda read else return static_cast(c); } +bool InputDevice::test() {return true;} +void InputDevice::write(uint8_t t) {} diff --git a/ass2/machine.cpp b/ass2/implementations/machine.cpp similarity index 88% rename from ass2/machine.cpp rename to ass2/implementations/machine.cpp index 6982dd6..49bc881 100644 --- a/ass2/machine.cpp +++ b/ass2/implementations/machine.cpp @@ -1,15 +1,5 @@ -#include -#include -#include "machine.h" -#include "device.h" -#include "inputDevice.h" -#include "outputDevice.h" -#include "fileDevice.h" -#include "opcode.h" -#include -#include -#include -#include +#include "../headers/machine.h" + using namespace std; @@ -17,11 +7,11 @@ machine::machine() { registri.fill(0); //konstruktor -> vsi registri so 0 na zacetku naprave[0] = make_unique(cin); //0 = std vhod - naprave[1] = make_unique(cout); //1 = std izhod - naprave[2] = make_unique(cerr); //2 = std izhod za napake + naprave[1] = make_unique(cout); //1 = std izhod + naprave[2] = make_unique(cerr); //2 = std izhod za napake for (int i = 3; i < 256; i++) { //inicializacija ostalih naprav - string fname = "file" + to_string(i) + ".dat"; + string fname = "files/file" + to_string(i) + ".dat"; naprave[i] = make_unique(fname); } @@ -184,7 +174,7 @@ machine::machine() { naprave[num] = make_unique(filename); } - int getUN(int n, int x, int b, int p, int e, int operand) { + int getUN(int n, int i, int x, int b, int p, int e, int operand) { //NEED TO IMPLEMENT return 1; } @@ -209,6 +199,10 @@ machine::machine() { throw invalid_argument("Neveljaven register v ukazu" + mnemonic + " r1 = " + to_string(r1) + " r2 = " + to_string(r2)); } + void machine::divisionByZero() { + throw invalid_argument("Deljenje z 0 ni dovoljeno!"); + } + uint8_t machine::fetch() { return machine::getByte(registri[PC]++); } @@ -232,8 +226,8 @@ machine::machine() { break; case 2: { - uint8_t operand = fetch(); - uspesno = execF2(opcode8, operand, ii.mnemonic); + uint8_t b2 = fetch(); + uspesno = execF2(opcode8, b2, ii.mnemonic); break; } @@ -278,9 +272,12 @@ machine::machine() { //start I/O na kanalu (A), adress kanala je dan na (S) return true; } else if (name == "NORM") { - //normalizirej (F), v c++ so ze vsa double stevila normalizirana + //normalizirej (F) + return true; + } else { return true; } + } @@ -302,23 +299,31 @@ machine::machine() { uint8_t b = (byte2 >> 6) & 1; uint8_t p = (byte2 >> 5) & 1; uint8_t e = (byte2 >> 4) & 1; + + int operand = 0; int UN = 0; + + auto it = ukaziSICF3F4.find(mnemonic); //najdemo pripadajoc ukaz + if (it == ukaziSICF3F4.end()) notImplemented(mnemonic); return false; if (n == 0 && i == 0) { - //imamo format SIC - + //imamo format SIC + operand = ((byte2 & 0x7F) << 8) | byte3; + UN = getUN(0, 0, x, 0, 0, 0, operand); //sicer ni res da so bpe nujno 0, ampak dobim cel operand ki ga rabim že z bitnimi operacijami } else if (e == 1) { //imamo format 4 + uint8_t byte4 = fetch(); + operand = ((byte2 & 0x0F) << 16) | (byte3 << 8) | byte4; + UN = getUN(n, i, x, b, p, 1, operand); } else { //imamo format 3 + operand = ((byte2 & 0x0F) << 8) | byte3; + if (operand & 0x800) { // če je bit 11 = 1 + operand |= 0xFFFFF000; // napolni višje bite z 1 + } + UN = getUN(n, i, x, b, p, 0, operand); } + + return it->second(UN); // tukaj dejansko pozenemo ukaz z uporabnim naslovom } //TO DO ///////////////////////////////////////////////////////////////////////////////////// - - - - - -int main() { - return 0; -} \ No newline at end of file diff --git a/ass2/opcode.cpp b/ass2/implementations/opcode.cpp similarity index 94% rename from ass2/opcode.cpp rename to ass2/implementations/opcode.cpp index 818c1bf..a804b6b 100644 --- a/ass2/opcode.cpp +++ b/ass2/implementations/opcode.cpp @@ -1,6 +1,6 @@ -#include "opcode.h" +#include "../headers/opcode.h" -const std::unordered_map OPCODES = { +const std::unordered_map Opcode::OPCODES = { {0x18, {"ADD", 3}}, {0x58, {"ADDF", 3}}, {0x90, {"ADDR", 2}}, diff --git a/ass2/outputDevice.cpp b/ass2/implementations/outputDevice.cpp similarity index 62% rename from ass2/outputDevice.cpp rename to ass2/implementations/outputDevice.cpp index 75434b1..918a0e7 100644 --- a/ass2/outputDevice.cpp +++ b/ass2/implementations/outputDevice.cpp @@ -1,9 +1,11 @@ -#include "outputDevice.h" -#include +#include "../headers/outputDevice.h" outputDevice::outputDevice(std::ostream& output): out(output) {}; //konstruktor void outputDevice::write(uint8_t value) { //write out.put(static_cast(value)); out.flush(); - } +} + +bool outputDevice::test() {return true;} +uint8_t outputDevice::read() {return 1;} diff --git a/ass2/main.cpp b/ass2/main.cpp index b945f35..bae255d 100644 --- a/ass2/main.cpp +++ b/ass2/main.cpp @@ -1,5 +1,5 @@ -#include "machine.h" -#include "cpu.h" +#include "../headers/machine.h" +#include "../headers/cpu.h" int main(int argc, char const *argv[]){ machine m;